资讯专栏INFORMATION COLUMN

PHP中的几个随机数生成函数

call_me_R / 3366人阅读

摘要:中的几个随机数生成函数基于的随机种子发生器基于算法返回随机整数。它可以产生随机数值的平均速度比提供的快四倍。在其他平台,会优先使用函数限衍生系统或带的系统。若以上两点均不符合,会使用系统调用。

PHP中的几个随机数生成函数

rand() 基于 libc 的随机种子发生器

mt_rand() 基于 Mersenne Twister 算法返回随机整数。它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。

random_int() 生成密码安全的伪随机整数

random_bytes() 生成密码安全的伪随机字符串

openssl_random_pseudo_bytes() 生成密码安全的伪随机字符串

3,4是在php7中引入的两个CSPRNG函数,它可以生成更加可靠,随机性更高的随机数种子

-

在计算机中随机数的来源因环境不同会产生差异

在 Windows 系统,会使用 CryptGenRandom() 函数。

在其他平台,会优先使用 arc4random_buf() 函数(限 BSD 衍生系统或带 libbsd 的系统)。

若以上两点均不符合,会使用 Linux getrandom(2) 系统调用。

若以上来源均不符合,会抛出 Error。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29297.html

相关文章

  • 利用JavaScript生成一张随机的城市地图

    摘要:在这里用简单的代码就生成了一张随机的城市地图。产生一个新元素时,会被同时放入两个数组,当元素死亡后,将其从中移除。以上检查交点的过程发生在函数中。 zz85在这里用简单的代码就生成了一张随机的城市地图。生成地图与画一棵随机的树十分相似,都是先给出初始的元素,每个元素在满足条件时会生成新的子代,最后由所有的元素共同组成了我们想要的地图或树。 程序中创建的几个对象 地图中的每一条道路对应程...

    wanghui 评论0 收藏0
  • PHP小知识点

    摘要:那些琐碎的知识点作者记录的的很奇特很难记的知识点。易错知识点整理注意和的区别中和都是输出的作用,但是两者之间还是有细微的差别。今天手头不忙,总结一下,分享过程中掌握的知识点。 深入理解 PHP 之:Nginx 与 FPM 的工作机制 这篇文章从 Nginx 与 FPM 的工作机制出发,探讨配置背后的原理,让我们真正理解 Nginx 与 PHP 是如何协同工作的。 PHP 那些琐碎的知识...

    hover_lew 评论0 收藏0
  • 【译】PHP中的随机性——你觉得自己幸运吗?

    摘要:本文分析了生成用于加密的随机数的相关问题。没有提供一种简单的机制来生成密码学上强壮的随机数,但是通过引入几个函数来解决了这个问题。呢缺省情况下,不提供强壮的随机数发生器。如果你想要使用可靠的随机数据源,如你在本文所见,建议尽快使用和 本文分析了生成用于加密的随机数的相关问题。 PHP 5没有提供一种简单的机制来生成密码学上强壮的随机数,但是PHP 7通过引入几个CSPRNG函数来解决了...

    邹强 评论0 收藏0
  • 【译】PHP中的随机性——你觉得自己幸运吗?

    摘要:本文分析了生成用于加密的随机数的相关问题。没有提供一种简单的机制来生成密码学上强壮的随机数,但是通过引入几个函数来解决了这个问题。呢缺省情况下,不提供强壮的随机数发生器。如果你想要使用可靠的随机数据源,如你在本文所见,建议尽快使用和 本文分析了生成用于加密的随机数的相关问题。 PHP 5没有提供一种简单的机制来生成密码学上强壮的随机数,但是PHP 7通过引入几个CSPRNG函数来解决了...

    Eric 评论0 收藏0
  • 以太坊源码分析:共识(3)Ethash

    摘要:在中,该随机数称为,它需要满足一个公式其中,去除区块头中生成的哈希值,见。固定值,生成的哈希值的最大取值。哈希值满足条件的概率是,矿工需要进行次的判断,才有可能找到一个符合条件的,当前以太坊难度为。 前言 Ethash实现了PoW,PoW的精妙在于通过一个随机数确定,矿工确实做了大量的工作,并且是没有办法作弊的。接下来将介绍: Ethash的挖矿本质。 Ethash是如何挖矿的。 如...

    huashiou 评论0 收藏0

发表评论

0条评论

call_me_R

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<