PHP7 - CSPRNG

在PHP7,以下两个新的函数引入以产生一个跨平台的方式加密安全整数和字符串。

  • random_bytes() - 生成加密安全伪随机字节。

  • random_int() - 生成加密安全伪随机整数。

random_bytes()

random_bytes()适合于使用来生成密码,密码学随机的任意长度的字符串,如:生成 salt,密钥或初始向量。

语法

string random_bytes ( int $length )
参数
  • length - 返回随机串的字节长度

返回值

  • 返回包含加密安全随机字节的请求数量的字符串。

错误/异常

  • 如果无法找到随机性的适当源,将引发异常
  • 如果给定参数无效,TypeError将被抛出
  • 如果给出字节长度无效,错误将被抛出

示例

<?php
$bytes = random_bytes(5);
print(bin2hex($bytes));
?>
这将在浏览器产生以下输出 
54cc305593

random_int()

random_int()产生适合于用于结果是非常重要的加密随机整数。

语法

int random_int ( int $min , int $max )

参数

  • min - 返回最小值,它必须是PHP_INT_MIN或更大的值

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

返回值

  • 返回最小值(min)到最大(max)的范围内,包括加密安全随机整数。

错误/异常

  • 如果无法找到随机性一个适当的源,将引发异常
  • 如果给定参数无效,TypeError 将被抛出
  • 如果 max 小于 min 时,错误将被抛出

示例

<?php
print(random_int(100, 999));
print("
");
print(random_int(-1000, 0));
?>
这将在浏览器产生以下输出
614
-882
联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2022

备案号:京ICP备15003423号-3