php 随机数原理,php随机数原理

php 随机数原理,php随机数原理php 随机数原理 系统自动生成一个随机数种子 mt srand 函数可以自己生成种子 mt rand 先判断是否有生成种子 没有就自动生成一个 然后根据种子生成随机数 生成 10000 99999 随机数字 推荐学习 PHP 编程从入门到精通 mt rand 10000 99999 php 提供的随机数为伪随机数 计算机只能生成伪随机数 php 英文文档上有警告此随机数不要使用于 token 生成的操作

php随机数原理:

2d72d0728e2f5c12adae779682b110ff.png

系统自动生成一个随机数种子(mt_srand函数可以自己生成种子),mt_rand先判断是否有生成种子,没有就自动生成一个,然后根据种子生成随机数。

生成10000-99999随机数字:(推荐学习:PHP编程从入门到精通)mt_rand(10000,99999);

//php提供的随机数为伪随机数(计算机只能生成伪随机数,php英文文档上有警告此随机数不要使用于token生成的操作)

//伪随机是由可确定的函数(常用线性同余),通过一个种子(常用时钟),产生的伪随机数。

一个小实验:mt_srand(10); //播种随机数种子

echo mt_rand(1,100).PHP_EOL; //生成随机数

echo mt_rand(1,100).PHP_EOL; //生成随机数

//然后你会发现无论你怎么刷新网页,生成的随机数都是一样的!!

//建议使用openssl_random_pseudo_bytes生成token

爆破出随机数种子,利用工具php_mt_srand

生成字符串随机数:$chars = ‘abcdefghijklmnopqrstuvwxyz0ABCDEFGHIJKLMNOPQRSTUVWXYZ’;

$chars .= ‘`~!@#$%^&*()_+-=[]{};:”|,.<>/?’;

$str=substr(str_shuffle($chars),0,10); //10位随机数

//中英文混合随机可以会出现乱码因为str_shuffle是基于字符随机打乱

//不能直接使用str_split函数,因为该函数也是基于字符串的

//PS:疯狂吐槽中文

function mb_str_split($str){ //切割中文字符串

return preg_split(‘/(?

}

$chars.=’你好歹还得发哈收到付款将很快经过艰苦规划’;

$chars=mb_str_split($chars);

//可以使用数组随机数array_rand(array,number)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200212.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午11:18
下一篇 2026年3月20日 上午11:19


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号