(PHP 8 >= 8.2.0)
Random\Engine\Xoshiro256StarStar::__construct — Construye un nuevo motor xoshiro256**
Esta función no está documentada actualmente, solamente se encuentra disponible la lista de 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. |
seed
no es
de 32 bytes, se lanzará una ValueError.
seed
está compuesta
por 32 bytes NUL ("\x00"
), se lanzará una ValueError.
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