
又来了,讲一下md5加密,MD5 是程序开发中非常常用的一种算法,很多人都用过。提到 MD5,大多数人的反应都是「这是一种加密算法」,懂得多点的人还会说「可以用于给密码加密」,再懂点的还知道「MD5 已经有被破解的可能性了」。
实质上,MD5 只是一种哈希算法。
哈希算法,即 hash,又叫散列算法,是一类把任意数据转换为定长(或限制长度)数据的算法统称。例如我叫张三,你叫李四,那么「人 -> 人名」的算法就叫属于一种哈希算法。哈希算法通常用于制作数字指纹,数字指纹的意思就是「你看到这个东西就像看到原数据一样」,例如我们在一些网站下载大文件的时候,网站提供给我们验证文件完整性的 MD5 或者 SHA1 码,就是原文件的哈希值。哈希算法有很多种,MD5 是其中的一种,这就是 MD5。所以,优秀的哈希算法通常需要具有低碰撞概率(即不同数据的哈希值通常也不一样)。
在现在的很多大型项目中都会用到MD5加密,其实也不是很难,直接上代码
public static string StringToMD5Hash(string inputString)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] encryptedBytes = md5.ComputeHash(Encoding.ASCII.GetBytes(inputString));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < encryptedBytes.Length; i++)
{
sb.AppendFormat("{0:x2}", encryptedBytes[i]);
}
return sb.ToString();
}
就是这一点点代码,需要的地方调用一下就行了,现在MD5也可以进行解密
加密后还会得到一串密文,加油吧