首頁  >  文章  >  後端開發  >  詳解PHP7中的偽隨機數產生器CSPRNG

詳解PHP7中的偽隨機數產生器CSPRNG

autoload
autoload原創
2021-03-19 10:56:252587瀏覽

CSPRNG 即偽隨機數產生器,作為一個工具,常用的演算法有 MD5SHA1 等。

在 PHP7 中,引入了以下兩個 CSPRNG 函數,透過跨平台方式產生加密安全的整數和字串。

  • random_bytes() - 產生加密安全的偽隨機位元組。

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

1.random_bytes()

#        random_bytes()適合用來產生密碼,密碼隨機的任何長度的字串,如:產生 salt,密鑰或初始向量。

     語法:

string random_bytes ( int $length )
  • 參數:length - 傳回隨機字串的位元組長度

  • 傳回值:傳回包含加密安全隨機位元組的請求數量的字串。

     範例:

<?php
$bytes = random_bytes(5);
print(bin2hex($bytes));//随机生成
?>

2.random_int()

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

     語法:

int random_int ( int $min , int $max )

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

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

     範例:

<?php
print(random_int(100, 999));//随机生成100-999的数
echo "<br/>";
print(random_int(-1000, 0));//随机生成-100至0的数
?>

建議:

php影片教學 php7教學

以上是詳解PHP7中的偽隨機數產生器CSPRNG的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn