Random\Engine\Xoshiro256StarStar::__construct

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::__constructСоздаёт новый объект движка xoshiro256**

Описание

public Random\Engine\Xoshiro256StarStar::__construct(string|int|null $seed = null)

Внимание

Функция пока не документирована; для знакомства доступен только список аргументов.

Список параметров

seed

Способ заполнения внутреннего 256-битного (32 байта) состояния, состоящего из четырёх 64-битных целых чисел без знака, зависит от типа, используемого в качестве параметра seed.

Type Описание
null Заполняет состояние 32 случайными байтами, сгенерированными с помощью CSPRNG.
int Заполняет состояние четырьмя последовательными значениями, сгенерированными с помощью алгоритма SplitMix64, который был заполнен параметром seed, интерпретированным как 64-битное целое число без знака.
string Заполняет состояние, интерпретируя 32-байтовую строку (string) как четыре 64-битных целых числа без знака.

Ошибки

  • Если длина строки (string) параметра seed не равна 32 байтам, будет выброшена ошибка ValueError.
  • Если строка (string) параметра seed состоит из 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
add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top