using System.Security.Cryptography;
private string MD5(string str)
{
byte[] result = Encoding.UTF8.GetBytes(str); //中文使用UTF8编码,也可以选择别的
MD5 md5 = new MD5CryptoServiceProvider();
byte[] output = md5.ComputeHash(result);
string byte2String = BitConverter.ToString(output).Replace("-", "");
return byte2String.ToLower(); //转为小写
}
或者
using System.Security.Cryptography;
private string MD5(string str)
{
byte[] result = Encoding.UTF8.GetBytes(str);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] output = md5.ComputeHash(result);
string[] ss = new string[output.Length];
string byte2String = null;
for (int i = 0; i < output.Length; i++)
{
ss[i] = output[i].ToString("x2");
byte2String += ss[i];
}
return byte2String.ToLower(); //转为小写
}
加密前的字符串的空格数量不一致会导致加密后的MD5不一致。