偏见的定义是什么:
如果这是alternate tie-breaking rules for rounding中说明的那种偏见,我认为这并不重要(因为这种偏见实际上是不可见的)。
除了mt_rand()
之外,claimed比rand()
快四倍,只需在前面添加三个字符!
假设mt_rand
可用,使用它的缺点是什么?
最佳答案
mt_rand
使用Mersenne Twister算法,它比rand
通常使用的LCG更好。例如,LCG的周期仅为232,而mt_rand的周期为219937-1。此外,当将LCG绘制到多维空间中时,所有由LCG生成的值都将为lie on lines or planes。而且,不仅在实践上可行,而且相对容易地确定LCG的参数。 LCG的唯一优势是可能稍快一些,但是在使用php进行编码时,规模是完全不相关的。
但是,mt_rand
还是,也不适合用于加密目的(生成 token ,密码或加密 key )。
如果需要加密随机性,请在php 7中使用 random_int
。在较早的php版本上,请在符合POSIX的操作系统上从/dev/urandom
或/dev/random
中读取。