PHP CSPRNG

CSPRNG(Cryptographically Secure Pseudo-Random Number Generator,偽隨機(jī)數(shù)產(chǎn)生器)。

PHP 7 透過引入幾個(gè) CSPRNG 函數(shù)提供一個(gè)簡(jiǎn)單的機(jī)制來產(chǎn)生密碼學(xué)上強(qiáng)壯的隨機(jī)數(shù)。

  • random_bytes() - 加密生存被保護(hù)的偽隨機(jī)字串。

  • random_int() - 加密生存被保護(hù)的偽隨機(jī)整數(shù)。


random_bytes()

語法格式

string?random_bytes?(?int?$length?)

參數(shù)

  • length - 隨機(jī)字串傳回的位元組數(shù)。

傳回值

  • 傳回字串,接受一個(gè)int型入?yún)⒋韨骰亟Y(jié)果的位元組數(shù)。

實(shí)例

<?php
$bytes = random_bytes(5);
print(bin2hex($bytes));
?>

以上程式執(zhí)行輸出結(jié)果為:

6f36d48a29

#random_int()

語法格式

int?random_int?(?int?$min?,?int?$max?)

#參數(shù)

  • #min - 傳回的最小值,必須是大於或等於PHP_INT_MIN 。

  • max - 傳回的最大值,必須是小於或等於 PHP_INT_MAX 。

傳回值

  • 傳回一個(gè)指定範(fàn)圍內(nèi)的int型數(shù)字

#實(shí)例

<?php
print(random_int(100, 999));
print(PHP_EOL);
print(random_int(-1000, 0));
?>

以上程式執(zhí)行輸出結(jié)果為:

723
-64