CSPRNG 即偽隨機(jī)數(shù)產(chǎn)生器,作為一個(gè)工具,常用的算法有 MD5 或者 SHA1 等。
在 PHP7 中,引入了以下兩個(gè) CSPRNG 函數(shù),通過跨平臺(tái)方式生成加密安全的整數(shù)和字符串。
random_bytes()生成適用于加密使用的任意長度的加密隨機(jī)字節(jié)串,例如生成 salt,密鑰或初始化向量。
string random_bytes ( int $length )
<?php
$bytes = random_bytes(5);
print(bin2hex($bytes));
?>
它產(chǎn)生以下瀏覽器輸出:
54cc305593
random_int()random_int()生成加密隨機(jī)整數(shù),適合在無偏差結(jié)果至關(guān)重要的情況下使用。
int random_int ( int $min , int $max )
<?php
print(random_int(100, 999));
print("");
print(random_int(-1000, 0));
?>
它產(chǎn)生以下瀏覽器輸出:
614
-882
更多建議: