PHP 7
CSPRNG(Cryptographically Secure Pseudo-Random Number Generator,伪随机数产生器)。
PHP 7 通过引入几个 CSPRNG 函数提供一种简单的机制来生成密码学上强壮的随机数。
random_bytes() - 加密生存被保护的伪随机字符串。
random_int() - 加密生存被保护的伪随机整数。
random_bytes()生成适合加密使用的任意长度的加密随机字节字符串,例如在生成盐、密钥或初始化向量时。
string random_bytes ( int $length )
length - 随机字符串返回的字节数。
返回一个字符串,接受一个int型入参代表返回结果的字节数。
如果找不到适当的随机性来源,将抛出异常。
如果给定的参数无效,则类型错误会被扔掉。
如果给定的字节长度无效,将引发错误。
<?php $bytes = random_bytes(5); print(bin2hex($bytes)); ?>
它产生以下浏览器输出–
54cc305593
random_int()生成适用于无偏结果至关重要的加密随机整数。
int random_int ( int $min , int $max )
min - 返回的最小值,必须是大于或等于 PHP_INT_MIN 。
max - 返回的最大值,必须是小于或等于 PHP_INT_MAX 。
返回一个指定范围内的int型数字
如果无法找到适当的随机性来源,则例外会被扔掉。
如果给定的参数无效,则类型错误会被扔掉。
如果max小于min,则错误会被扔掉。
<?php print(random_int(100, 999)); print(""); print(random_int(-1000, 0)); ?>
它产生以下浏览器输出–
614 -882