拥有两个具有相同md5哈希的字符串的可能性有多大



我在某处读到md5不是100%安全的。因此,问题来了。

您似乎在问两个独立但相关的问题。

随机碰撞的概率在很大程度上取决于您正在处理的数据的大小;散列的字符串越多,发生冲突的可能性就越大。请参阅维基百科上的第一个表格:生日攻击,了解确切的概率。MD5使用128位,因此要实现50%的冲突概率,需要2.2E19个字符串。

然而,尽管随机冲突对于小数据集来说非常罕见,但MD5已被证明对有意的冲突是完全不安全的。根据维基百科关于MD5的文章,在2.6Ghz Pentium4处理器上存在可以在几秒钟内运行的碰撞攻击。为了安全起见,MD5是完全破坏的,自2005年以来一直被认为是这样。

如果你需要安全地对某个东西进行哈希,可以使用一种更现代的哈希算法,如SHA-2、SHA-3(当它的开发完成时)或Whirlpool。

最新更新