Por que rand () não é realmente aleatório?
Eu queria colocar pontos aleatórios em uma imagem (estrelas no espaço para algum projeto paralelo divertido)
Eu tenho esse script simples.
<?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);
?>
Lembre-se de que isso é apenas para teste, é por isso que eu coloquei 100000 emfor
loop para mostrar o padrão que notei emergindo. Temos 1 milhão de pixels para usar, mas X e Y ainda aleatórios criam esse padrão:
Portanto, está longe de ser aleatório. Eu sei que rand não é realmente aleatório, é por isso que não é bom para criptografia. Mas não encontro informações sobre como funciona e o que devo fazer para evitar padrões como esse.