如果这是一个重复的问题,请道歉;我发现的大部分都是我的头脑,所以我可能错过了答案。
对于给定的散列,比如MD5(128位),与10 ^ 12个散列冲突的可能性是多少?
我的数学不是很好,我已经提出了这个等式(我认为这是正确的)但不知道如何解决它:
Collision_Chance = 1 - (1 - (1/2 ^ 128))^(10 ^ 12)
我猜它大概在10 ^ -26左右,这听起来是对的吗?
由于
编辑:我认为我的估计非常错误。见Birthday Paradox
答案 0 :(得分:2)
你的公式对2 ^ 128 + 1值有什么看法?我相信它并没有说碰撞概率是1,所以它不可能是正确的。实际上,我知道它不是 - 正确的公式相当大而且不实用,但是使用分数的指数有很好的近似。所以不会排版公式,所以我不会尝试在这里编写公式。
要搜索的最佳关键词可能是“birthday attack”。
答案 1 :(得分:0)
为什么哈希冲突会成为问题?哈希从未被设计为产生独特的vaues,只是为了便于快速的第一次比较。
如果您遇到哈希冲突问题,那就错了。