Language agnostic 如何使用md5计算碰撞的可能性?

Language agnostic 如何使用md5计算碰撞的可能性?,language-agnostic,statistics,md5,hash,Language Agnostic,Statistics,Md5,Hash,我的密钥长度可以在1到256个字符之间变化*;我如何计算使用时任意两个键发生碰撞的概率(尝试每个键的蛮力解决方案) *字符集仅限于[a-z.-]查看。这正是您想要的。请查看。这正是您要查找的内容。请查看,这将帮助您分析这一点。简而言之,由于MD5是一个128位的散列,所以在冲突概率上升到50%之前,您需要264个项目。这里有一个假设,MD5均匀地分布在128位的空间上,我相信它不会这样做,但会很接近 如果你想知道这些数字是如何排列在你的密钥空间中的,让我们假设你所有的密钥都是256个字符,你有2

我的密钥长度可以在1到256个字符之间变化
*
;我如何计算使用时任意两个键发生碰撞的概率(尝试每个键的蛮力解决方案)

*
字符集仅限于
[a-z.-]

查看。这正是您想要的。

请查看。这正是您要查找的内容。

请查看,这将帮助您分析这一点。简而言之,由于MD5是一个128位的散列,所以在冲突概率上升到50%之前,您需要264个项目。这里有一个假设,MD5均匀地分布在128位的空间上,我相信它不会这样做,但会很接近

如果你想知道这些数字是如何排列在你的密钥空间中的,让我们假设你所有的密钥都是256个字符,你有26256个可能的密钥,或者21023个,当然在2128个密钥之后,你有100%的几率发生冲突:)

看看,这将帮助你分析这一点。简而言之,由于MD5是一个128位的散列,所以在冲突概率上升到50%之前,您需要264个项目。这里有一个假设,MD5均匀地分布在128位的空间上,我相信它不会这样做,但会很接近

如果您想了解这些数字是如何与密钥空间相匹配的,那么让我们假设您的所有密钥都是256个字符,您有26256个可能的密钥,或者21023个,当然,在2128个密钥之后,您有100%的机会发生冲突:)