php随机函数mt_rand()产生的小问题大漏洞
**说到随机函数的应用,作为一个菜鸟,理解的也不是很深刻,在这里之作为一个笔记来记录,以后慢慢将其掌握之后,再在内容上面进行加深。 随机函数的作用,常常是用来生成验证码、随机文件名、订单号,如果用来做安全验证的话常常用来生成加密key、token等等。** 一、常见的随机函数 1、rand() 常用的随机函数,默认生成0-getrandmax()之间的随机数,不过因为性能问题,已经被mt_rand()函数替代 相关函数: rand(int $min,int $max) srand(int $seed),生成时间种子,同一个时间种子下随机生成的随机数值是相同的。 getrandmax()获取最大随机数,这里获取的随机数会随系统的不同而不同。如linux最大2147483647 2、mt_rand 常用的随机函数,默认生成0-mt_getrandmax()之间的随机数, Mersenne Twister 算法生成随机整数 相关函数: mt_srand(),生成种子,同一个种子下随机生成的随机数值是相同的。 该函数是产生随机值的更好选择,返回结果的速度是 rand() 函数的 4 倍(手册是是这么写的),我个人并不认同的,我感觉他说的4倍是很多年前的事了。因为mt_rand()使用的Mersenne Twister algorythm是1997的事,所以在很多年前,和rand(