Skip to content

CSPRNG

  • CSPRNG(Cryptographically Secure Pseudo-Random Number Generator,伪随机数产生器)。
  • PHP 7 通过引入几个 CSPRNG 函数提供一种简单的机制来生成密码学上强壮的随机数。
    • random_bytes() - 随机生成字符串。
    • random_int() - 随机生成整数。

random_bytes()

// length - 随机字符串返回的字节数。
string random_bytes ( int $length )
// 返回一个字符串,接受一个int型入参代表返回结果的字节数。

<?php
    $bytes = random_bytes(5);
    print(bin2hex($bytes));
?>
以上程序执行输出结果为:
6f36d48a29

random_int()

// min - 返回的最小值,必须是大于或等于 PHP_INT_MIN 。
// max - 返回的最大值,必须是小于或等于 PHP_INT_MAX 。
int random_int ( int $min , int $max )
// 返回一个指定范围内的int型数字。
<?php
    print(random_int(100, 999));
    print(PHP_EOL);
    print(random_int(-1000, 0));
?>
以上程序执行输出结果为:
723
-64