(PHP 8 >= 8.2.0)
Random\Engine\Xoshiro256StarStar::__construct — Создаёт новый объект движка xoshiro256**
seed
Способ заполнения внутреннего 256-битного (32 байта) состояния, который состоит из четырёх
64-битных целых чисел без знака, зависит от типа
в параметре seed
.
Type | Описание |
---|---|
null | Заполняет состояние 32 случайными байтами, которые выдал генератор CSPRNG. |
int |
Заполняет состояние четырьмя последовательными значениями, сгенерированными по алгоритму
SplitMix64, который заполнил параметр seed ,
интерпретированным как 64-битное целое число без знака.
|
string | Заполняет состояние, интерпретируя 32-байтовую строку (string) как четыре 64-битных целых числа без знака. |
seed
значения string, длина которого
не равна 32 байтам, метод выбросит ошибку ValueError.
seed
значения string,
которое состоит из 32 нулевых байтов ("\x00"
),
метод выбросит ошибку ValueError.
Пример #1 Пример работы метода Random\Engine\Xoshiro256StarStar::__construct()
<?php
// Используется случайное 256-битное начальное число
$e = new \Random\Engine\Xoshiro256StarStar();
$r = new \Random\Randomizer($e);
?>
Пример #2 Выведение значения из строки (string)
<?php
$string = "My string seed";
// Хеширование строки с помощью SHA-256, используя двоичный вывод, чтобы превратить
// $string в 256-битное значение. Передача одной и той же строки возвращает
// одну и ту же случайную последовательность
$e = new \Random\Engine\Xoshiro256StarStar(
hash('sha256', $string, binary: true)
);
echo bin2hex($e->generate()), "\n";
?>
Результат выполнения приведённого примера:
6e013453678388c2