从我所了解的情况来看,MD5算法(以及其他算法,如SHA-1)已经被破解。我只是好奇它有多么“破碎”。有没有办法将哈希值逆转回原始文本?还是只有偶尔发生碰撞?在什么情况下使用MD5(或任何其他破解的算法)会真正糟糕?文件更改检测?密码安全?查找重复文件?
您可以在大约一小时(或更长时间)内在一台不太快的计算机上找到产生相同MD5哈希的两个输入。至少据我所知,目前没有已知的攻击方法可以让您找到一个会产生特定结果的输入。除非是偶然情况,否则不可能找到用于生成特定哈希的原始字符串。对于查找重复文件,MD5与以往一样有效。对于查找更改的文件,基本相同。在任何情况下,只要您没有人故意尝试攻击MD5以产生冲突,从密码学角度来看它被破解的事实几乎是无关紧要的。对于任何与安全相关的事情,我建议避免使用MD5。有更好的替代方案可供选择,没有理由将MD5优先于其他方案。