random_bytes
(PHP 7, PHP 8)
random_bytes — Generates cryptographically secure pseudo-random bytes
說明
random_bytes(int
$length
): stringGenerates an arbitrary length string of cryptographic random bytes that are suitable for cryptographic use, such as when generating salts, keys or initialization vectors.
The sources of randomness used for this function are as follows:
- On Windows, » CryptGenRandom() will always be used. As of PHP 7.2.0, the » CNG-API will always be used instead.
- On Linux, the » getrandom(2) syscall will be used if available.
- On other platforms, /dev/urandom will be used.
- If none of the aforementioned sources are available, then an Exception will be thrown.
注意: Although this function was added to PHP in PHP 7.0, a » userland implementation is available for PHP 5.2 to 5.6, inclusive.
參數
-
length
-
The length of the random string that should be returned in bytes.
返回值
Returns a string containing the requested number of cryptographically secure random bytes.
錯誤/異常
範例
示例 #1 random_bytes() example
<?php
$bytes = random_bytes(5);
var_dump(bin2hex($bytes));
?>
以上例程的輸出類似於:
string(10) "385e33f741"
參見
- random_int() - Generates cryptographically secure pseudo-random integers
- openssl_random_pseudo_bytes() - 產生一個偽隨機位元組串
- bin2hex() - 函式把包含數據的二進制字串轉換為十六進制值