我在 Amazon S3 上有一个图像库。对于每个图像,我在服务器上 md5 源 URL 和时间戳以获取唯一的文件名。由于 S3 不能有子目录,因此我需要将所有这些图像存储在一个平面文件夹中。
我需要担心生成的 MD5 哈希值中的冲突吗?
奖励:在我开始看到 MD5 生成的哈希值发生冲突之前,我可以拥有多少个文件?
最佳答案
两个哈希值意外冲突的概率为 1/2128 which is 1 in 340 undecillion 282 decillion 366 nonillion 920 octillion 938 septillion 463 sextillion 463 quintillion 374quadrallion 607 万亿4310 亿 7.68 亿 211 千 456。
但是,如果您保留所有哈希值,那么由于 birthday paradox ,概率会更高一些。为了使任何哈希与任何其他哈希发生冲突的可能性为 50%,您需要 264 个哈希。这意味着,为了获得冲突,平均而言,您需要对 6 billion files per second for 100 years 进行哈希处理。
关于random - MD5产生碰撞之前有多少个随机元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/201705/