从我读过的内容来看,MD5(以及其他算法,如SHA-1)散列算法已被破坏。我只是好奇 如何破坏它。
有没有办法获取哈希值,并将其反转为原始文本?或者只是偶尔会发生碰撞?
在什么情况下使用MD5(或任何其他破坏的算法)真的很糟糕?文件更改检测?密码安全?找到重复的文件?
答案 0 :(得分:4)
你可以找到两个输入,在一个不是特别快的计算机上大约一个小时(左右)产生相同的MD5哈希。至少据我所知,目前没有任何已知的攻击会让你找到一个会产生特定结果的输入。
除了(可能)意外之外,找不到用于生成特定哈希的原始字符串是不可能的(也永远不会)。
为了找到重复的文件,MD5就像以前一样好。用于查找已更改的文件,几乎相同。在任何一种情况下,只要你没有人故意试图攻击MD5来产生冲突,那么它从加密的角度来看是非常无关紧要的事实。
对于任何与安全相关的事情,我都会避免使用MD5。有很多更好的替代品可供选择,没有理由支持MD5而不是其他。