PHP 8.5.0 Beta 2 available for testing

Random\Engine\Xoshiro256StarStar::__construct

(PHP 8 >= 8.2.0)

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

Descripción

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

Parámetros

seed

Cómo se inicializa el estado interno de 256 bits (32 bytes) compuesto por cuatro enteros sin signo de 64 bits depende del tipo utilizado como seed.

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

Errores/Excepciones

  • Si la longitud de un string seed no es de 32 bytes, se lanzará un ValueError.
  • Si un string seed consiste en 32 bytes NUL ("\x00"), se lanzará un ValueError.

Ejemplos

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

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

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

Ejemplo #2 Derivando una semilla de un string

<?php
$string
= "Mi semilla de string";

// Hashea el string con SHA-256 usando salida binaria para convertir el
// $string en una semilla de 256 bits. Usar el mismo string resultará
// en la misma secuencia de aleatoriedad.
$e = new \Random\Engine\Xoshiro256StarStar(
hash('sha256', $string, binary: true)
);

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

El ejemplo anterior mostrará :

6e013453678388c2
add a note

User Contributed Notes

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