许可证密钥生成器冲突概率

时间:2015-06-23 17:54:28

标签: java statistics

我编写了生成许可证密钥的代码。

*必须是A-Z或0-9(36种可能性)

*前4位数字总是MKDC,接下来的16位是随机生成的

我想学习如何计算碰撞概率(2个生成的许可证相同)。

11

Fun 2: Hello World
20

2 个答案:

答案 0 :(得分:2)

我是通过说答案是(1/36)^ 16?

来过度简化这一点

答案 1 :(得分:2)

对于两个生成的许可证,一个变量字符必须与另一个的变量字符匹配。这等于

的概率

1/36^16

此值约为0.00000000000000000000000125。

但是,对于多个许可证,概率会增加。对于n个许可证,概率为:

36^16 PERMUTE n, all over 36^(16n)

密钥空间非常巨大,以至于Wolfram | alpha是使用当前方法获得合理数量密钥的碰撞概率unable to determine