PHP隨機數是否可預測?如果是這樣,預測在1到32範圍內的隨機數有多難?有什麼辦法讓它變得不可預測?PHP mt_rand()函數
<?php
function rand_best($min, $max) {
$generated = array();
for ($i = 0; $i < 100; $i++) {
$generated[] = mt_rand($min, $max);
}
shuffle($generated);
$position = mt_rand(0, 99);
return $generated[$position];
}
?>
由於使用'mt_rand()'寫的東西,你應該在[梅森倍捻機(HTTP讀了起來: //en.wikipedia.org/wiki/Mersenne_twister)算法,如果你想知道它是如何工作的。 – DaveRandom 2012-01-05 11:49:09
此外,'mt_rand()'提供比'rand()'更好的質量(明顯有缺陷)。順便說一句,*不隨機*,*不統一*和*可預測*是非常不同的概念:如果您不知道種子,則無法預測下一個數字。 – 2012-01-05 11:53:15