PHP 8.5.0 Alpha 4 available for testing

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-битных целых числа без знака.

Ошибки

  • При передаче в параметр 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
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top