如何在 C 中徹底播種 MT19937 PRNG
通常,std::random_device用來產生隨機數,如下面的程式碼:
但是,這個方法是有缺陷,因為:
更可靠的方法是使用CSPRNG(例如Windows 上的CryptGenRandom 或類Unix 系統上的/dev/urandom )來產生高品質的隨機位元組來為PRNG 播種。例如:
此程式碼使用 /dev/urandom 作為 CSPRNG,並使用 32 位元值作為 PRNG 的種子,應該會增加該值以提高安全性。這種方法是可移植的、經過充分測試且易於使用的,為在 C 中產生隨機數提供了堅實的基礎。
以上是如何在 C 中正確播種 MT19937 PRNG 以實現安全隨機數產生?的詳細內容。更多資訊請關注PHP中文網其他相關文章!