×
PHP 7新特性简单认识PHP7如何配置PHP7环境如何在Linux/Unix上安装PHP在Mac OS X系统中的安装PHP使用IIS在Windows上安装PHPApache如何在Windows上安装PHP7功能之标量类型声明返回类型声明在PHP中的使用PHP7空合并运算符如何使用PHP7中如何使用太空船操作符PHP7定义常量数组和匿名类PHP7中Closure :: call使用示例如何使用过滤unserialize()函数PHP7如何使用IntlChar伪随机数产生器CSPRNGPHP7的期望是如何使用的?PHP7如何使用use语句如何进行错误处理的?PHP是如何计算整数除法的?什么是PHP7的Session选项PHP7弃用了哪些功能PHP7中移除的扩展和SAPI

PHP7更新记录

PHP7.2.0 RC6 发布,修复bug

伪随机数产生器CSPRNG


CSPRNG 即伪随机数产生器,作为一个工具,常用的算法有 MD5 或者 SHA1 等。

在 PHP7 中,引入了以下两个 CSPRNG 函数,通过跨平台方式生成加密安全的整数和字符串。

  • 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()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

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)