Все, кто хоть раз интересовался вопросом о том, как работает ГСЧ знает, что в ЭВМ по-настоящему случайные числа получить довольно сложно. Для этого были придуманы разные устройства (вроде USB флэшки, которая считывает радиационный фон/шум/фотоны и т.д.), другие варианты - это сервисы, которые предоставляют энтропию через сеть интернет (я где-то слышал, что есть сервис который генерирует ее на основе лавовых ламп). Второй вариант является не очень безопасным, однако более доступным. Меня собственно он и интересует. Мне надо получить дополнительную энтропию (не имеющие криптографическую безопасность), чтобы перемешать массив случайным образом.
Сама функция примешивания массива выглядит так:
public static function shuffle($array, $seed = null)
{
if (is_null($seed)) {
shuffle($array);
} else {
mt_srand($seed);
shuffle($array);
mt_srand();
}
return $array;
}
mt_srand использует генератор случайных чисел на базе Вихря Мерсенна. Но насколько я понял, он все равно зависит от ГСЧ на ЭВМ, которые как правило дают не лучшие результаты. Можно ли как-то в PHP подключить внешний генератор ГСЧ, чтобы получить лучшую энтропию? Насколько вообще будут оправданы такие заморочки?