81得票11回答
随机数根本不够随机?

我这样做是为了测试randint的随机性:>>> from random import randint >>> >>> uniques = [] >>> for i in range(4500): # You can s...

25得票1回答
哈希碰撞的概率

我正在寻找一些关于MD5、SHA1和SHA256碰撞概率的精确数学数据,基于生日悖论。 我需要像这样的一个图表:“如果你有10^8个密钥,这是概率。如果你有10^13个密钥,这是概率等等。” 我查看了大量文章,但很难找到给我这些数据的文章。(对我来说最理想的选项是提供任何哈希大小的公式或代码来...

25得票4回答
哈希碰撞的例子是什么?

为了演示,可以举一些字符串在哈希处理后会发生冲突的例子。MD5是相对标准的哈希选项,因此这就足够了。

18得票3回答
50000个随机生成的7位十六进制字符串之间为什么没有发生碰撞?(生日悖论问题)

我遇到了一些生成多个UUID的代码,使用UUID.randomUUID(),取每个UUID的最后7位数字(最近的UUID版本在熵方面是均匀分布的),并将其用作插入行到数据库中的键。 我想知道碰撞的概率是多少。我记得生日问题。这就是那个问题的一个实例,不是吗?一年有365天,而这里有16^7个...

11得票5回答
Random.Next()有多随机?

我一直在对Random类进行测试,使用了以下代码:while (x++ <= 5000000) { y = rnd.Next(1, 5000000); if (!data.Contains(y)) data.Add(y); else { ...

7得票5回答
用一个64位数字唯一标识URL

这基本上是一个数学问题,但与编程有关:如果我有10亿个包含URL的字符串,并且我取其中每个字符串的MD5哈希的前64位,那么我应该期望什么样的碰撞频率? 如果我只有1亿个URL会发生什么变化? 在我看来,碰撞将非常罕见,但这些东西往往令人困惑。 如果我要使用其他的东西而不是MD5,会更好...