CSPRNG 即伪随机数产生器,作为一个工具,常用的算法有 MD5 或者 SHA1 等。 在 PHP7 中,引入了以下两个 CSPRNG 函数,通过跨平台方式生成加密安全的整数和字符串。 random_bytes() - 生成加
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或更大的值
- max - 返回最大值,它必须是小于或等于PHP_INT_MAX
示例:
<?php print(random_int(100, 999));//随机生成100-999的数 echo "<br/>"; print(random_int(-1000, 0));//随机生成-100至0的数 ?>