Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有长度可以在 1 到 256 个字符之间变化的键*;如何计算使用md5时任意两个键发生碰撞的概率(尝试每个键的蛮力解决方案)?
*
*字符集仅限于[a-z.-]
[a-z.-]
看看生日悖论,这将帮助您分析这一点。简而言之,由于 MD5 是 128 位散列,您需要 2 64项才能将冲突的可能性上升到 50%。那里有一个假设,即 MD5 均匀分布在 128 位空间上,我相信它不会这样做,但会接近。
如果您想了解这些数字是如何与您的密钥空间相抗衡的,假设您的所有密钥都是 256 个字符,您有 26 256个可能的密钥,或者 2 1023,当然之后您有 100% 的碰撞机会2 128键 :)
检查生日问题。这正是您正在寻找的。