/// <summary> /// 得到字符串的MD5散列值 /// </summary> /// <param name="input"></param> /// <returns></returns>
public static String GetMD5(this string input)
{
System.Security.Cryptography.MD5CryptoServiceProvider x = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] bs = System.Text.Encoding.UTF8.GetBytes(input);
bs = x.ComputeHash(bs);
System.Text.StringBuilder s = new System.Text.StringBuilder();
foreach (byte b in bs)
{
s.Append(b.ToString("x2").ToLower());
}
return s.ToString();
}
/// <summary> /// 计算文件的MD5值 /// </summary> /// <param name="filepath"></param> /// <returns></returns> public static String GetStreamMD5(Stream stream) { string strResult = ""; string strHashData = ""; byte[] arrbytHashValue; System.Security.Cryptography.MD5CryptoServiceProvider oMD5Hasher = new System.Security.Cryptography.MD5CryptoServiceProvider(); arrbytHashValue = oMD5Hasher.ComputeHash(stream); //计算指定Stream 对象的哈希值 //由以连字符分隔的十六进制对构成的String,其中每一对表示value 中对应的元素;例如“F-2C-4A” strHashData = System.BitConverter.ToString(arrbytHashValue); //替换- strHashData = strHashData.Replace("-", ""); strResult = strHashData; return strResult; }