如何为两个不同长度的字符串提供相同的md5值

时间:2012-03-09 09:28:24

标签: string md5 hash-collision

我有一个md5函数,我已经确认它对文件和字符串都有效。但是当我在可变大小的非常大的文件块上使用它时,它会生成md5值,这些值相同但块的大小不同。

我想知道是否有两个长度不同但的块可能,相同的内容导致类似的md5指纹。

2 个答案:

答案 0 :(得分:4)

发生这种情况的几率是1 /(2 ^ 128),因为MD5是128位散列。这意味着1 /(3.4 x 10 ^ 38),所以这不太可能,但并非不可能。

我认为,更有可能的是,你做错了什么,而且你实际上每次都在计算相同文本/文件的MD5。

答案 1 :(得分:2)

如果没有尝试,就没有机会获得相同的MD5哈希值。

点击此处查看有关碰撞的更多信息:http://www.mscs.dal.ca/~selinger/md5collision/