8得票2回答
C++11 生成频繁变化范围内的随机数

问:如何从先验未知的范围中生成(许多)均匀分布的整数?在性能方面,什么是首选方法(生成数百万个数字)? 背景:在我的应用程序中,我必须在许多地方生成许多伪随机数。我使用单例模式来维护应用程序运行的可重现性。在我的情况下,分布总是均匀的,但问题在于有太多可能的范围无法在C++11样式中预先制作...

8得票1回答
Ruby的rand函数有效种子范围是多少?

Ruby将PRNG实现为“具有2 ** 19937-1周期的修改的Mersenne Twister。”1 我的理解是MT在2 ^ 32个不同的种子上运行。使我困惑的是,Random.new(seed)接受任意大的数字,例如Random.new(2 ** 100)。 但是,我无法找到(逻辑)...

7得票1回答
为什么Python中的random.random()不安全?

我在Stack Overflow上看到了这个问题:如何在Python中从列表中随机选择项,其中提到它不适用于加密/安全目的。 因此,我在官方文档中找到了这个页面:random-生成伪随机数 它提到他们使用Mersenne Twister来生成随机数。 那么,Mersenne Twiste...

7得票2回答
我能否通过结合random_device和mt19937并重新播种来生成密码学安全的随机数据?

我需要在c++11中生成加密安全的随机数据,我担心对于所有数据使用random_device会严重限制性能(参见Stephan T. Lavavej的 "rand() Considered Harmful" 第23页,他说在他的系统上测试时,random_device是1.93 MB/s,而m...

7得票3回答
PRNG的质量测试

我正在尝试使用伪随机数生成器(如Mersenne Twister和stdlib库中的rand()函数),并希望找到一种好的测试方法,以确定PRNG所产生的随机数据的质量。我已经使用PRNG生成的随机数计算了圆周率的值,并发现rand()和Mersenne Twister非常接近,无法区分(需要...