当服务器重启时,PHP会生成种子(在mt_rand()中使用)吗? PHP存储此值的位置是什么?
我刚刚发现mt_rand()不安全,并尝试为它创建一个概念验证。
非常感谢!
答案 0 :(得分:3)
mt_rand()会在第一次在请求中使用时自动播种,种子基于PID,当前时间戳和PHP的内部LCG(线性) Congruent Generator)....你可以在脚本执行的任何时候使用mt_srand()来覆盖它,使用你自己的种子重新种植。
请注意,mt_rand()不适用于加密应用程序,如PHP Docs中所述。如果您想要加密强度随机性,请使用文档化的加密强度生成器。
答案 1 :(得分:1)
我刚刚发现mt_rand()不安全,并尝试为它创建一个概念验证。
通过OpenWall查看php_mt_seed。
如果您想要替代方案:
random_int()