C# Winform 中计算字符串的 MD5 和 SHA1
时间:2011-05-15 来源:yaob
在 C# Winform 中就算字符串的 MD5 或 SHA1, 网上相关的代码都挺多的, 但是, 有些计算出来都是错的, 更多的是, 计算出来的是只有 31 位, 而 MD5 中标准的应该是 32 位. 不知那些分享代码的人, 自己有没有校验过的. 囧.
MD5:
public static string GetMD5(string str)
{
StringBuilder sb = new StringBuilder();
foreach (byte b in System.Security.Cryptography.MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(str)))
{
sb.Append(b.ToString("X2"));
}
return sb.ToString();
}
SHA1:
public static string GetSHA1(string str)
{
StringBuilder sb = new StringBuilder();
foreach (byte b in System.Security.Cryptography.SHA1.Create().ComputeHash(Encoding.UTF8.GetBytes(str)))
{
sb.Append(b.ToString("X2"));
}
return sb.ToString();
}
PS. 其中的 ToString 中的 X 如果为小写 x, 那么转出来的就是小写的结果. 而网上很多出现 31 位的不标准结果, 就是 X 后面没有 "2" 造成的.
相关阅读 更多 +