我们已经知道了什么是哈希表和哈希算法,这一篇文章就准备聊聊哈希算法的 种类 以及 特点,废话不多说,开搞!

ppx2.jpg

哈希算法的种类

目前主流的哈希算法有两个大类

下面分别详细聊聊它俩

qidai.jpeg

消息摘要算法

MD算法家族包括:MD2MD4MD5,它们生成的消息摘要都是 128位 的,通常用16进制表示为32个字符

MD4(RFC 1320)是 MIT 的 Ronald L. Rivest 在 1990 年设计的

MD5(RFC 1321)是Rivest于 1991 年对MD4的改进版本。它对输入仍以 512位 分组,其输出是 4个32位字 的级联,与 MD4 相同。MD5比MD4来得复杂,并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好

从安全性上说:MD5 > MD4 > MD2

安全散列算法

安全散列算法是一个 密码散列函数家族,是FIPS所认证的安全散列算法,它是一个能计算出数字消息所对应到的,长度固定(又称消息摘要)的算法

SHA家族的五个算法,分别是 SHA-1SHA-224SHA-256SHA-384SHA-512,后面四个有时统称为 SHA-2

SHA-1可将一个最大 2的64次方位 的讯息,转换成一串 160位 的讯息摘要,而后四个算法生成的摘要长度为它们名字 后面的数字,如SHA-256算法,它生成的摘要长度为256位,因此它的抗穷举(brute-force)性比MD更好

哈希算法的特点

列举如下

结语

结尾给一个小彩蛋,不要错过哟

2004年8月17日,在美国加州圣芭芭拉召开的国际密码大会上,山东大学王小云教授在国际会议上首次宣布了她及她的研究小组的研究成果——对MD5、HAVAL-128、MD4和RIPEMD等四个著名密码算法的破译结果,其后于2005年2月宣布破解SHA-1密码