0

我有长度可以在 1 到 256 个字符之间变化的键*;如何计算使用md5时任意两个键发生碰撞的概率(尝试每个键的蛮力解决方案)?

*字符集仅限于[a-z.-]

4

2 回答 2

4

看看生日悖论,这将帮助您分析这一点。简而言之,由于 MD5 是 128 位散列,您需要 2 64项才能将冲突的可能性上升到 50%。那里有一个假设,即 MD5 均匀分布在 128 位空间上,我相信它不会这样做,但会接近。

如果您想了解这些数字是如何与您的密钥空间相抗衡的,假设您的所有密钥都是 256 个字符,您有 26 256个可能的密钥,或者 2 1023,当然之后您有 100% 的碰撞机会2 128键 :)

于 2009-05-12T21:18:46.667 回答
2

检查生日问题。这正是您正在寻找的。

于 2009-05-12T21:16:49.087 回答