(PHP 8 >= 8.2.0)
Random\Engine\Xoshiro256StarStar::__construct — Construit un nouveau moteur xoshiro256**
seed
Les 256 bits (32 octets) internes de l'état, composés de quatre entiers non signés de 64 bits,
sont initialisés en fonction du type utilisé comme seed
.
Type | Description |
---|---|
null | Remplit l'état avec 32 octets aléatoires générés à l'aide du CSPRNG. |
int |
Remplit l'état avec quatre valeurs consécutives générées avec l'algorithme SplitMix64
qui a été initialisé avec seed interprété comme un entier non signé de 64 bits.
|
string | Remplit l'état en interprétant une chaîne de 32 octets string comme quatre entiers non signés de 64 bits en little-endian. |
seed
n'est
pas de 32 octets, une ValueError sera lancée.
seed
est composée
de 32 octets NUL ("\x00"
), une ValueError
sera lancée.
Exemple #1 Exemple de Random\Engine\Xoshiro256StarStar::__construct()
<?php
// Uses a random 256 Bit seed.
$e = new \Random\Engine\Xoshiro256StarStar();
$r = new \Random\Randomizer($e);
?>
Exemple #2 Dériver une graine d'une chaîne de caractères
<?php
$string = "My string seed";
// Hacher la chaîne avec SHA-256 en utilisant une sortie binaire pour transformer
// la chaîne en une graine de 256 bits. Utiliser la même chaîne donnera
// la même séquence de données aléatoires.
$e = new \Random\Engine\Xoshiro256StarStar(
hash('sha256', $string, binary: true)
);
echo bin2hex($e->generate()), "\n";
?>
L'exemple ci-dessus va afficher :
6e013453678388c2