当前位置 : 主页 > 网络编程 > PHP >

详解PHP7中的伪随机数产生器CSPRNG

来源:互联网 收集:自由互联 发布时间:2021-08-10
CSPRNG 即伪随机数产生器,作为一个工具,常用的算法有 MD5 或者 SHA1 等。 在 PHP7 中,引入了以下两个 CSPRNG 函数,通过跨平台方式生成加密安全的整数和字符串。 random_bytes() - 生成加
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或更大的值

  • max - 返回最大值,它必须是小于或等于PHP_INT_MAX

示例:

<?php
print(random_int(100, 999));//随机生成100-999的数
echo "<br/>";
print(random_int(-1000, 0));//随机生成-100至0的数
?>

网友评论