这实际上并不像我最初想的那么简单。
在没有硬件 RNG 的情况下,播种 Mersenne Twister 的最佳方法是什么?
或者我应该说,播种用于生成 UUID 的 Mersenne Twister RNG 的可接受方式是什么?
这实际上并不像我最初想的那么简单。
在没有硬件 RNG 的情况下,播种 Mersenne Twister 的最佳方法是什么?
或者我应该说,播种用于生成 UUID 的 Mersenne Twister RNG 的可接受方式是什么?
此处对伪随机数生成器进行了很好的讨论,其中包括有关正确播种 PRNG 的部分(参见规则 3),该部分使用md5sum
和/dev/random
或/dev/urandom
生成种子。
这还包括一些 PRNG 算法,它们比 MT 更容易编码(< 10 行代码),但可以说同样好(长时间并通过所有 Dieharder 随机性测试)。
延伸阅读: