6
我想把一個圖像上的隨機點(一些有趣的小項目的空間中的星星)爲什麼rand()不是真的隨機?
我有這個簡單的腳本。
<?php
$gd = imagecreatetruecolor(1000, 1000);
$white = imagecolorallocate($gd, 255, 255, 255);
for ($i = 0; $i < 100000; $i++)
{
$x = rand(1,1000);
$y = rand(1,1000);
imagesetpixel($gd, round($x),round($y), $white);
}
header('Content-Type: image/png');
imagepng($gd);
?>
請記住,這僅僅是測試,這就是爲什麼我把100000 for
循環,這樣就說明我注意到新興模式。我們有100萬像素使用,仍然隨機X和Y創建這種模式,而不是:
所以它是遠離隨機。我知道rand並不是真正的隨機數,這就是爲什麼它對密碼學不好。但我找不到有關它是如何工作的信息,以及我應該如何避免這種模式。
感謝您使用我搜索的關鍵字。真的有幫助。我對PHP和編程有了大量了解,但我主要是自學成才,所以缺乏一些技術術語。我會盡快接受。 –
而且mt_rand真的可以勝任。這似乎是隨機的,每次運行時都會改變。 http://i.imgur.com/DoeNFB9.png再次感謝您。 –