我有一个大量使用mt_rand & mt_srand的应用程序,问题是许多主机提供程序默认启用suhosin.mt_srand.ignore,这会导致应用程序不能正常工作,因为种子不能工作……
由于我的应用程序已经在某些主机服务器上运行(不启用此扩展),所以我希望在php中创建自己的mt_rand & mt_srand函数,并让它们返回与内置函数相同的结果(对于相同的种子),这样我就不会依赖主机提供程序是否启用了这个扩展。
我看过rand.c (4/ext/standard/rand.c),这是mt_rand() & mt_srand()的源代码,但是我对C的了解很低,我无法自己将它迁移到php。
有人知道怎么做吗?还是想帮我个忙?
发布于 2015-06-17 09:10:05
您可以尝试只使用PHP的通用PRNG算法的实现,例如https://github.com/ruafozy/php-mersenne-twister。
然而,请不要依赖这些数字是密码安全-意思是使用这些,例如,在游戏中产生一个随机迷宫,而不是加密你的日记。
https://stackoverflow.com/questions/22073246
复制相似问题