PHP7 CSPRNG

在PHP7,以下兩個新的函數引入以產生一個跨平臺的方式加密安全整數和字符串。

  • random_bytes() - 生成加密安全僞隨機字節。

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

random_bytes()

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

語法

string random_bytes ( int $length )

參數

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

返回值

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

錯誤/異常

  • 如果無法找到隨機性的適當源,將引發異常

  • 如果給定參數無效,TypeError將被拋出

  • 如果給出字節長度無效,錯誤將被拋出

示例

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

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 時,錯誤將被拋出

示例

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

614
-882