MD5中有哪些漏洞,有哪些补救措施?此外,非技术人员应该具备的一些问题以及技术人员与MD5相关的一些问题是什么?
答案 0 :(得分:5)
不要使用MD5。请改用SHA-2(或更高版本)。
来自here:
美国国土安全部的US-CERT表示,MD5“应被视为加密破坏且不适合进一步使用,......”并且大多数美国政府申请将被要求转移到2010年后SHA-2系列哈希函数。
答案 1 :(得分:2)
MD5被破坏,因为它无法成为加密哈希。具体来说,它不再具有第二原像抗性假设我们有
h = MD5(d)
其中d
是文档,h
是MD5哈希值。我现在可以找到d1
MD5(d1) = h
。这意味着我可以找到声称具有相同散列的第二个原像。更糟糕的是,我可以创建一个文档并更改它的隐藏部分,直到我得到相同的哈希值。
其含义是我可以向您提供虚假文件,而您的哈希检查会将其视为原始文件。
MD5仍然是一个陷阱,因为你无法从d
重建h
。它已被用于密码加密,但你绝不能这样做。对于密码的密钥派生,您应该使用PBKDF2,bcrypt或(最好)scrypt。
SHA1在石棺中也有凹痕。这就是选择SHA-2或更高哈希函数的原因。