.net 加密算法_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > .net 加密算法

.net 加密算法

 2014/4/15 16:22:16  樊明涛  程序员俱乐部  我要评论(0)
  • 摘要:publicstaticstringEncrypt(stringsource){MD5CryptoServiceProvidermd5=newMD5CryptoServiceProvider();byte[]bytes=Encoding.UTF8.GetBytes(source);byte[]output=md5.ComputeHash(bytes);returnBitConverter.ToString(output);}最常见的MD5加密,但不带解密。DES加解密
  • 标签:.net net 算法

public?static?string?Encrypt(string?source)
????????{
????????????MD5CryptoServiceProvider?md5?=?new?MD5CryptoServiceProvider();
????????????byte[]?bytes?=?Encoding.UTF8.GetBytes(source);
????????????byte[]?output?=?md5.ComputeHash(bytes);

????????????return?BitConverter.ToString(output);
????????}
最常见的MD5加密,但不带解密。

DES加解密。
??public?class?DES
????{
????????private?const?string?key?=?"av&6^3*E";
???????
????????public?static?string?Encrypt(string?source)
????????{
????????????DESCryptoServiceProvider?des?=?new?DESCryptoServiceProvider();

????????????byte[]?bytes?=?Encoding.UTF8.GetBytes(source);

????????????des.Key?=?ASCIIEncoding.ASCII.GetBytes(key);
????????????des.IV?=?ASCIIEncoding.ASCII.GetBytes(key);

????????????MemoryStream?ms?=?new?MemoryStream();
????????????CryptoStream?cs?=?new?CryptoStream(ms,?des.CreateEncryptor(),?CryptoStreamMode.Write);

????????????cs.Write(bytes,?0,?bytes.Length);
????????????cs.FlushFinalBlock();

????????????StringBuilder?sb?=?new?StringBuilder();
????????????foreach?(byte?b?in?ms.ToArray())
????????????{
????????????????sb.AppendFormat("{0:X2}",?b);
????????????}

????????????return?sb.ToString();
????????}

????????public?static?string?Decrypt(string?source)
????????{
????????????if?(source?==?null?||?source.Length?==?0)
????????????{
????????????????return?source;
????????????}

????????????DESCryptoServiceProvider?des?=?new?DESCryptoServiceProvider();
????????????byte[]?bytes?=?new?byte[source.Length?/?2];
????????????for?(int?x?=?0;?x?<?source.Length?/?2;?x++)
????????????{
????????????????int?i?=?(Convert.ToInt32(source.Substring(x?*?2,?2),?16));
????????????????bytes[x]?=?(byte)i;
????????????}

????????????des.Key?=?ASCIIEncoding.ASCII.GetBytes(key);
????????????des.IV?=?ASCIIEncoding.ASCII.GetBytes(key);

????????????MemoryStream?ms?=?new?MemoryStream();
????????????CryptoStream?cs?=?new?CryptoStream(ms,?des.CreateDecryptor(),?CryptoStreamMode.Write);
????????????cs.Write(bytes,?0,?bytes.Length);
????????????cs.FlushFinalBlock();

????????????return?Encoding.UTF8.GetString(ms.ToArray());
????????}
????}

发表评论
用户名: 匿名