PHP 8.5.0 Beta 2 available for testing

Random\Engine\PcgOneseq128XslRr64::__construct

(PHP 8 >= 8.2.0)

Random\Engine\PcgOneseq128XslRr64::__constructConstruye un nuevo motor PCG Oneseq 128 XSL RR 64

Descripción

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

Parámetros

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.

Errores/Excepciones

  • Si la longitud de un string seed no es de 16 bytes, se lanzará un ValueError.

Ejemplos

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
add a note

User Contributed Notes

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