1. 程式人生 > >PHP中的幾個隨機數生成函數

PHP中的幾個隨機數生成函數

win com get 函數 href http 引入 tps 隨機數種子

PHP中的幾個隨機數生成函數

  1. rand() 基於 libc 的隨機種子發生器
  2. mt_rand() 基於 Mersenne Twister 算法返回隨機整數。它可以產生隨機數值的平均速度比 libc 提供的 rand() 快四倍。
  3. random_int() 生成密碼安全的偽隨機整數
  4. random_bytes() 生成密碼安全的偽隨機字符串
  5. openssl_random_pseudo_bytes() 生成密碼安全的偽隨機字符串
3,4是在php7中引入的兩個CSPRNG函數,它可以生成更加可靠,隨機性更高的隨機數種子

-

在計算機中隨機數的來源因環境不同會產生差異

  • 在 Windows 系統,會使用 CryptGenRandom() 函數。
  • 在其他平臺,會優先使用 arc4random_buf() 函數(限 BSD 衍生系統或帶 libbsd 的系統)。
  • 若以上兩點均不符合,會使用 Linux getrandom(2) 系統調用。
  • 若以上來源均不符合,會拋出 Error。

原文地址:https://segmentfault.com/a/1190000016088261

PHP中的幾個隨機數生成函數