2008-10-10 65 views
32

是否有与Windows的/dev/random相当的Windows?Windows等效于/ dev/random

这个问题特别要求能够从文件/或设备(与例如Unix/Linux兼容)读取随机数字,而不是Windows API问题。

+11

我希望有人真的回答了被问到的问题。对于通用问题有很多答案*我如何在Windows *上生成随机数字,但这不是这个问题。这个问题特别提到`/ dev/random`,它是通过读取“文件”来产生随机数的一种方法。这比通过调用函数生成随机数更有趣。 **这是**我想知道的。为了记录,它不完全相同,但[有Windows和DOS的解决方案](https://en.wikipedia.org/wiki//dev/random#Other_operating_systems)。 – Synetech 2015-09-13 00:42:20

回答

1

这从StingyJack的回答链接是好的:从2005年起http://en.wikipedia.org/wiki/CryptGenRandom

微软C++的Visual Studio提供rand_s()这在Windows XP及以上的作品。它基于RtlGenRandom(与CryptoAPI的PRNG函数一样),其内部工作不公开。在XP中似乎有一些缺陷已经被修复。

就我个人而言,我使用rand_s()作为随机性的附加来源来播种我选择的PRNG。