3

可能重复:
如果 MD5 损坏,有什么更好的解决方案?

MD5 有哪些漏洞,有哪些补救措施?此外,非技术人员应该有哪些担忧,以及与 MD5 相关的技术人员应该有哪些担忧?

4

2 回答 2

5

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

这里

美国国土安全部的 US-CERT 表示,MD5“应该被认为是密码破解并且不适合进一步使用,......”并且大多数美国政府应用程序将被要求在 2010 年之后迁移到 SHA-2 系列哈希函数。

MD5 今天被认为是有害的

于 2011-01-03T00:07:29.997 回答
2

MD5 已损坏,因为它无法成为加密哈希。具体来说,它不再具有第二原像电阻假设我们有

h = MD5(d)

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

这意味着我可以给你一个虚假的文件,你的哈希检查会相信它是原始文件。

MD5 仍然是一个活板门,您无法d仅从h. 它已被用作密码加密,但您绝不能这样做。对于密码的密钥派生,您应该使用 PBKDF2、bcrypt 或(最好)scrypt。

SHA1 在石棺中也有凹痕。这就是为什么要选择 SHA-2 或更高的散列函数的原因。

于 2011-01-03T00:33:58.717 回答