利用.NET自带的算法,只是整理下
关键代码
using System;
using System.Text;
using System.Security.Cryptography;
/// <summary>
/// 根据输入的算法名进行运算,返回带字母的结果
/// </summary>
/// <param name="value">进行加密的字符串</param>
/// <param name="EncryptName">算法名
/// 举例:MD5,SHA1,SHA256,SHA384,SHA512,RIPEMD160
/// </param>
/// <returns>加密结果</returns>
public static string EncryptValue(string value,string EncryptName)
{
byte[] hashvalue = (CryptoConfig.CreateFromName(EncryptName) as HashAlgorithm).ComputeHash(bytes(value));
StringBuilder text = new StringBuilder();
for (int i = 0, j = hashvalue.Length; i < j; i++)
text.Append(hashvalue[i].ToString("x").PadLeft(2,'0'));
return text.ToString();
}
/// <summary>
/// 根据指定的值获取bytes
/// </summary>
/// <param name="value">指定的值</param>
/// <returns>bytes</returns>
public static byte[] bytes(string value)
{
return Encoding.ASCII.GetBytes(value);
}
顺便写了个简单的校验机,下载地址http://download.csdn.net/source/232589
说明:
简单的校验机,可生成字符串的16位MD5,32位MD5,SHA1,SHA256,SHA384,SHA512,RIPEMD160等算法结果
可生成文件加密后的代码,防止文件被修改,如文件的MD5码