Я хотел поместить случайные точки на изображение (звезды в космосе для небольшого забавного побочного проекта).
У меня есть простой скрипт.
<?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
, чтобы он отображал закономерность, которую я заметил. У нас есть 1 миллион пикселей для использования, но вместо этого случайные X и Y создают этот шаблон:
Так что далеко не случайно. Я знаю, что rand не является случайным, поэтому он не подходит для криптографии. Но я не нахожу информации о том, как это работает и что мне делать, чтобы избежать подобных паттернов.