(PHP 8 >= 8.2.0)
Random\Engine\PcgOneseq128XslRr64::__construct — Construye un nuevo motor PCG Oneseq 128 XSL RR 64
seed
La forma en que se inicializa el estado interno de 128 bits (16 bytes) que consiste en un entero sin signo de 128 bits
depende del tipo utilizado como seed
.
Tipo | Descripción |
---|---|
null | Rellena el estado con 16 bytes aleatorios generados usando el CSPRNG. |
int |
Rellena el estado estableciendo el estado a 0 , avanzando el motor un paso,
añadiendo el valor de seed interpretado como un entero sin signo de 64 bits,
y avanzando el motor otro paso.
|
string | Rellena el estado interpretando un string de 16 bytes como un entero sin signo de 128 bits en orden little-endian. |
seed
no es
de 16 bytes, se lanzará un ValueError.
Ejemplo #1 Ejemplo de Random\Engine\PcgOneseq128XslRr64::__construct()
<?php
// Usa una semilla aleatoria de 128 bits.
$e = new \Random\Engine\PcgOneseq128XslRr64();
$r = new \Random\Randomizer($e);
?>
Ejemplo #2 Derivar una semilla a partir de un string
<?php
$string = "Mi semilla de string";
// Aplica hash a la cadena con SHA-256 truncado usando salida binaria
// para convertir el $string en una semilla de 128 bits. Usar la misma
// cadena resultará en la misma secuencia de aleatoriedad.
$e = new \Random\Engine\PcgOneseq128XslRr64(
substr(hash('sha256', $string, binary: true), 0, 16)
);
echo bin2hex($e->generate()), "\n";
?>
El ejemplo anterior mostrará :
8333ef59315b16d8