MD5算法
概念
MD5:信息摘要算法(Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
其它的加密算法还有安全散列算法:SHA家族,主要的就是SHA-2(SHA-224、SHA-256、SHA-384、SHA-512)
.NET 实现MD5
/// <summary>
/// 使用MD5加密字符串
/// </summary>
/// <param name="str">需要加密的字符串</param>
/// <returns>32位的小写哈希值</returns>
public static string GetMd5Hash(string str)
{
using MD5 md5Hash = MD5.Create();
byte[] vs = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(str));
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < vs.Length; i++)
{
stringBuilder.Append(vs[i].ToString("x2"));
}
return stringBuilder.ToString();
}
/// <summary>
/// 验证签名
/// </summary>
/// <param name="str">需要加密的字符串</param>
/// <param name="hash">需要验证的hash</param>
/// <returns>验证通过为true,否则为false</returns>
public static bool VerifyMd5Hash(string str, string hash)
{
string hashOfStr = GetMd5Hash(str);
StringComparer comparer = StringComparer.OrdinalIgnoreCase;
if (0 == comparer.Compare(hashOfStr, hash))
{
return true;
}
else
{
return false;
}
}
MD5算法详解与.NET实现
本文详细介绍了MD5算法的概念及其在.NET平台上的实现方式。MD5是一种常用的密码散列函数,能生成128位散列值,用于确保信息传输的完整性和一致性。文章提供了使用MD5加密字符串及验证签名的具体代码示例。
3598

被折叠的 条评论
为什么被折叠?



