gpt4 book ai didi

php - 如何编写我自己的 mt_rand() 和 mt_srand?

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:02 24 4
gpt4 key购买 nike

我有一个大量使用 mt_rand 和 mt_srand 的应用程序,问题是许多主机提供商默认启用 suhosin.mt_srand.ignore,这导致我的应用程序无法正常工作,因为播种没有工作...

由于我的应用程序已经在某些托管服务器上运行(未启用此扩展),我想在 php 中创建自己的 mt_rand 和 mt_srand 函数,并让它们返回相同的结果(对于相同的种子)作为内置函数,这样我就不会依赖于主机提供商是否启用了这个扩展。

我看过rand.c ( http://lxr.php.net/xref/PHP_5_4/ext/standard/rand.c ),它是mt_rand() & mt_srand() 的源代码,但我对C 的了解很差,我不能自己将它迁移到php .

有人知道怎么做吗?或者愿意帮我解决这个问题?

最佳答案

您可以尝试使用 PHP 实现常见的 PRNG 算法,例如https://github.com/ruafozy/php-mersenne-twister

但是,请不要依赖这些数字的加密安全性——意思是使用这些数字,例如用于在游戏中生成随机迷宫,但不用于加密您的日记。

关于php - 如何编写我自己的 mt_rand() 和 mt_srand?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22073246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com