MD5有哪些漏洞?如何解决这些漏洞?

时间:2011-01-03 00:04:32

标签: cryptography md5 hash-function

  

可能重复:
  If MD5 is broken, what is a better solution?

MD5中有哪些漏洞,有哪些补救措施?此外,非技术人员应该具备的一些问题以及技术人员与MD5相关的一些问题是什么?

2 个答案:

答案 0 :(得分:5)

不要使用MD5。请改用SHA-2(或更高版本)。

来自here

美国国土安全部的US-CERT表示,MD5“应被视为加密破坏且不适合进一步使用,......”并且大多数美国政府申请将被要求转移到2010年后SHA-2系列哈希函数。

MD5 considered harmful today

答案 1 :(得分:2)

MD5被破坏,因为它无法成为加密哈希。具体来说,它不再具有第二原像抗性假设我们有

h = MD5(d)

其中d是文档,h是MD5哈希值。我现在可以找到d1 MD5(d1) = h。这意味着我可以找到声称具有相同散列的第二个原像。更糟糕的是,我可以创建一个文档并更改它的隐藏部分,直到我得到相同的哈希值。

其含义是我可以向您提供虚假文件,而您的哈希检查会将其视为原始文件。

MD5仍然是一个陷阱,因为你无法从d重建h。它已被用于密码加密,但你绝不能这样做。对于密码的密钥派生,您应该使用PBKDF2,bcrypt或(最好)scrypt。

SHA1在石棺中也有凹痕。这就是选择SHA-2或更高哈希函数的原因。