Hash 是否知道MD5算法为哪个顺序整数生成第一个非唯一散列?

Hash 是否知道MD5算法为哪个顺序整数生成第一个非唯一散列?,hash,md5,Hash,Md5,问题被编辑了,因为我的例子吸引了错误的Anwser 这里非常具体,如果我取一个整数序列,从1开始,递增到无穷大,然后对每个整数进行MD5散列,这将是第一个生成散列的数字,这个散列已经由另一个数字生成了 例如,如果数字8.501.668的MD5哈希恰好与数字12的MD5哈希相同,则该数字8.501.668是发生此冲突时的第一个(最低)数字 因此,我的问题是,当使用MD5时,我们是否确实知道具体发生在哪个数字 我看到很多人试图计算碰撞发生的几率。但几率并不具体,要记住,从数字1开始,一步步往上,有一

问题被编辑了,因为我的例子吸引了错误的Anwser

这里非常具体,如果我取一个整数序列,从1开始,递增到无穷大,然后对每个整数进行MD5散列,这将是第一个生成散列的数字,这个散列已经由另一个数字生成了

例如,如果数字8.501.668的MD5哈希恰好与数字12的MD5哈希相同,则该数字8.501.668是发生此冲突时的第一个(最低)数字

因此,我的问题是,当使用MD5时,我们是否确实知道具体发生在哪个数字


我看到很多人试图计算碰撞发生的几率。但几率并不具体,要记住,从数字1开始,一步步往上,有一种确定的方法可以知道哪个数字将是第一个生成重复哈希的数字。只是,由于处理器功率等原因,我自己无法计算这个数字,而且我还没有找到任何人以特定的方式回答这个问题

如果你的东西是基于简单的递增id,你可能不必担心这一点。此外,如果你的东西是基于id的哈希,那么它是无用的。这听起来像是一个XY问题——如果你问一个关于你的基本目标的问题,而不是询问关于你实现这些目标的想法的信息,你会得到更有用的回答goals.md5也很容易“猜测”(人们可以简单地计算它们),对于较小的数字,甚至可以用彩虹表简单地“还原”。简单地使用ID的散列而不是ID并没有多大区别。为什么你需要这些难以猜测的值?@Hurkyl我的目标只是保证生成的URL是唯一的,这都是个问题,这是非常复杂的,仅此而已。但我的目标也与此无关,因为实际问题是MD5生成第一个非唯一散列的最低数量,而这一目的不应该是强制性的。