random - MD5产生碰撞之前有多少个随机元素?

标签 random md5 hash

我在 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/

相关文章:

Javascript:生成随机数并存储在多维数组中

objective-c - Obj-C MD5 哈希与 Java/SQL 不匹配

java - 在java中解码md5加密

c++ - 用于 RSA PKCS#1( key 生成)的 C++ 中的加密安全 RNG

java - 生成随机循环数

hash - 根据文件内容计算出的MD5哈希值的前4个字节发生冲突的可能性是多少?

PHP/MySQL : What data type to chose for encrypted passwords (bcrypt, 最大。 100 个字符)

multithreading - 哈希和数组的推送和弹出操作是原子的和线程安全的吗?

php - 什么密码强度被认为足以与 password_hash 函数一起使用?

python - n 个数字的最小公倍数,使用递归