如何在PHP中获得一系列可重复的伪随机数?
在旧版本的PHP中,我只需在RNG中使用相同的种子即可实现,但是自从PHP更改了rand和mt_rand的工作方式后,这种方法不再适用。
请还参阅PHP.net页面上的此评论:
请注意,默认情况下安装了Suhosin补丁,例如Debian和DirectAdmin等许多PHP安装都会完全禁用srand和mt_srand函数以提高加密安全性。要在经过Suhosin硬化的服务器上从固定种子生成可重复的随机数,您需要包括自己的伪随机生成器代码。
该评论的链接:http://www.php.net/manual/en/function.srand.php#102636
有没有已经准备好的解决方案? 我没有时间也没有经验来创建自己的伪随机生成器代码。
我的目标是有一个代码。
<?php
//( pseudo random code here...)
$the_seed = 123; // 123 is just a number for demo purposes, NOT a static number
//...i hope you get the idea. It's just a hardcoded seed,
// it could be a seed based on a user-id, a date etc...
// we need the same output for a given seed.
//( pseudo random code here...)
// ...and finally
echo $the_random_number;
?>
所以每次我访问这个页面,我应该得到相同的数字。
$the_random_number
设置为9即可。 - CanSpice