PHPverse 2025

Random\Engine\Xoshiro256StarStar::__construct

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::__constructConstruye un nuevo motor xoshiro256**

Descripción

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

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

seed

Los 256 bits (32 bytes) internos del estado, compuestos por cuatro enteros sin signo de 64 bits, se inicializan según el tipo utilizado como seed.

Tipo Descripción
null Rellena el estado con 32 bytes aleatorios generados utilizando el CSPRNG.
int Rellena el estado con cuatro valores consecutivos generados con el algoritmo SplitMix64 que ha sido inicializado con seed interpretado como un entero sin signo de 64 bits.
string Rellena el estado interpretando una cadena de 32 bytes string como cuatro enteros sin signo de 64 bits en little-endian.

Errores/Excepciones

  • Si la longitud de una string seed no es de 32 bytes, se lanzará una ValueError.
  • Si una string seed está compuesta por 32 bytes NUL ("\x00"), se lanzará una ValueError.

Ejemplos

Ejemplo #1 Ejemplo de Random\Engine\Xoshiro256StarStar::__construct()

<?php
// Usa una semilla aleatoria de 256 bits.
$e = new \Random\Engine\Xoshiro256StarStar();

$r = new \Random\Randomizer($e);
?>

Ejemplo #2 Derivar una semilla de una string

<?php
$string
= "My string seed";

// Hashear la cadena con SHA-256 usando una salida binaria para transformar
// la cadena en una semilla de 256 bits. Usar la misma cadena dará
// la misma secuencia de datos aleatorios.
$e = new \Random\Engine\Xoshiro256StarStar(
hash('sha256', $string, binary: true)
);

echo
bin2hex($e->generate()), "\n";
?>

El resultado del ejemplo sería:

6e013453678388c2
add a note

User Contributed Notes

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