CSPRNG 即伪随机数产生器,作为一个工具,常用的算法有 MD5
或者 SHA1
等。
在 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或更大的值
示例:
<?php print(random_int(100, 999));//随机生成100-999的数 echo "<br/>"; print(random_int(-1000, 0));//随机生成-100至0的数 ?>
Atas ialah kandungan terperinci 详解PHP7中的伪随机数产生器CSPRNG. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!