編程學習網 > 編程教程 > PHP7 教程
2016
09-20

PHP7 CSPRNG

清華大佬耗費三個月吐血整理的幾百G的資源,免費分享!....>>>

在PHP7,以下兩個新的函數引入以產生一個跨平臺的方式加密安全整數和字符串。
  • random_bytes() - 生成加密安全偽隨機字節。

  • random_int() - 生成加密安全偽隨機整數。

random_bytes()

random_bytes()適合于使用來生成密碼,密碼學隨機的任意長度的字符串,如:生成 salt,密鑰或初始向量。

語法

string random_bytes ( int $length )

參數

  • length - 返回隨機串的字節長度

返回值

  • 返回包含加密安全隨機字節的請求數量的字符串。

錯誤/異常

  • 如果無法找到隨機性的適當源,將引發異常
  • 如果給定參數無效,TypeError將被拋出
  • 如果給出字節長度無效,錯誤將被拋出

示例

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

這將在瀏覽器產生以下輸出 -

54cc305593

random_int()

random_int()產生適合于用于結果是非常重要的加密隨機整數。

語法

int random_int ( int $min , int $max )

參數

  • min - 返回最小值,它必須是PHP_INT_MIN或更大的值

  • max - 返回最大值,它必須是小于或等于PHP_INT_MAX

返回值

  • 返回最小值(min)到最大(max)的范圍內,包括加密安全隨機整數。

錯誤/異常

  • 如果無法找到隨機性一個適當的源,將引發異常
  • 如果給定參數無效,TypeError 將被拋出
  • 如果 max 小于 min 時,錯誤將被拋出

示例

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

這將在瀏覽器產生以下輸出 -

614
-882

掃碼二維碼 獲取免費視頻學習資料

編程學習