static string MyMd5_1(string str)
{
//byte[] b = System.Text.Encoding.Default.GetBytes(str);
byte[] b = System.Text.Encoding.GetEncoding("gb2312").GetBytes(str);
byte[] d = new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(b);
string r = "";
for (int i = 0; i < d.Length; i++)
r += d[i].ToString("x").PadLeft(2, '0');
return r;
}
第三种方法是用“Cryptography.MD5”,例如:
static string MyMd5_2(string str)
{
//byte[] b = System.Text.Encoding.Default.GetBytes(str);
byte[] b = System.Text.Encoding.GetEncoding("gb2312").GetBytes(str);
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] d = md5.ComputeHash(b);
string r = "";
for (int i = 0; i < d.Length; i++)
r += d[i].ToString("x").PadLeft(2, '0');
return r;
}
后两种方法实际上是以byte[]为参数的,因此可以很方便的改成处理各种语言编码的字符串。