方法1:
using System.Text;
using System.Security.Cryptography;
public string Hash(string toHash)
{
MD5CryptoServiceProvider crypto = new MD5CryptoServiceProvider();
byte[] bytes = Encoding.UTF7.GetBytes(toHash);
bytes = crypto.ComputeHash(bytes);
StringBuilder sb = new StringBuilder();
foreach (byte num in bytes)
{
sb.AppendFormat("{0:x2}", num);
}
return sb.ToString(); //32位
return sb.ToString().Substring(8,16); //16位
}
方法2:
16位
public string GetMd5(string str)
{
System.Security.Cryptography.MD5CryptoServiceProvider md5=new MD5CryptoServiceProvider();
string a=BitConverter.ToString(md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str)),4,8);
a=a.Replace("-","");
return a;
}
32位
public string GetMd5(string str)
{
System.Security.Cryptography.MD5CryptoServiceProvider md5=new MD5CryptoServiceProvider();
string a=BitConverter.ToString(md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str)));
a=a.Replace("-","");
return a;
}