簡體   English   中英

PHP random_int 播種

[英]PHP random_int seeding

從 PHP7 開始,為 PRNG 引入了一個新函數:random_int ( http://php.net/manual/en/function.random-int.php )

PHP 手冊中沒有與此功能的播種相關的信息,我也無法使用 Google 在線找到與此相關的任何信息。

我可以像使用 PHP srand 或 PHP mt_srand 那樣手動設置種子嗎? 還是我無法控制? 還是由操作系統自動完成並安全地進行播種?

我可以像使用 PHP srand 或 PHP mt_srand 那樣手動設置種子嗎?

不。

還是我無法控制?

正確(ish - 在 linux 系統上,您可以使用 RNDADDENTROPY ioctl 為隨機生成器提供種子需要root)

還是由操作系統自動完成並安全地進行播種?

正確,在由getrandom() api生成的 Linux 上與從 /dev/random 和 /dev/urandom 讀取基本相同),在 Windows 上,它是通過BCryptGenRandom() api使用BCRYPT_RNG_ALGORITHM 生成的,在 OpenBSD 和 FreeBSD 上它使用arc4random_buf() api,所有 3 個都提供照相安全的隨機字節,相關源代碼可以在https://github.com/php/php-src/blob/bb6f374048bc0b4203e4fec7fd4e887519f663d6/ext/standard/random.chttps://github.com/php/php-src/blob/169805777c17892865ae462ae0a0895344a7fd3c/win32/winutil.c

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM