Jan*_*nis 13 php security random mersenne-twister
我知道PHP mt_rand()不应该用于安全目的,因为它的结果不是加密强.然而,许多PHP代码就是这样做的,或者如果没有更好的随机源,则将其用作后备.
mt_rand()
那有多糟糕呢?哪些随机源mt_rand用于播种?mt_rand加密应用程序是否存在其他安全问题?
mt_rand
Jon*_*Jon 17
在PHP 5.4中,if mt_rand在第一次使用时自动播种(PHP源代码).的种子值是当前时间戳,PHP进程PID和由PHP的内部产生的值的函数的LCG.我没有检查以前版本的PHP的源代码,但是文档暗示这个种子算法已经从PHP 5.2.1开始使用了.
背后的RNG算法mt_rand是Mersenne Twister.谈论它有多"糟糕"并没有多大意义,因为它清楚地记录了(不幸的是在PHP文档页面上),它完全不适合加密应用程序.如果您想要加密随机性,请使用文档化的加密强度生成器.
更新:您可能还想从crypto.SE 查看此问题.
归档时间:
14 年,3 月 前
查看次数:
5040 次
最近记录: