2008-10-10 63 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。