名称
| 安全性 | 说明 |
MD5 |
不安全
| MD5可以被碰撞[1] |
SHA-1 | 不安全 | 除了用于对过去生成的散列值进行校验外,不应该被用于新的用途, 而是应该迁移到SHA-2 |
SHA-2 | 安全 | 有效应对了针对SHA-1的攻击方法,因此说安全的,可以使用 |
SHA-3 [2] | 安全 |
[1]
2004年的国际密码学会议(Crypto’2004)王小云证明了MD5可以被碰撞,至此,MD5不再安全。所以,
MD5不安全的原因并不是因为MD5哈希值可以被彩虹表所破解,而是因为MD5可以被碰撞。
[2] SHA-3,之前名为Keccak算法,是一个加密杂凑算法。
SHA-3并不是要取代SHA-2,因为SHA-2目前并没有出现明显的弱点。
由于对MD5出现成功的破解,以及对SHA-0和SHA-1出现理论上破解的方法,NIST感觉需要一个与之前算法不同的,可替换的加密杂凑算法,也就是现在的SHA-3。