PHP CSPRNG

PHP 7 新特性 PHP 7 新特性

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

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

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

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


random_bytes()

語法格式

string random_bytes ( int $length )

參數(shù)

  • length - 隨機(jī)字符串返回的字節(jié)數(shù)。

返回值

  • 返回一個(gè)字符串,接受一個(gè)int型入?yún)⒋矸祷亟Y(jié)果的字節(jié)數(shù)。

實(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è)指定范圍內(nèi)的int型數(shù)字。

實(shí)例

實(shí)例

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

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

723
-64

PHP 7 新特性 PHP 7 新特性