(PHP 8 >= 8.2.0)
Random\Engine\Xoshiro256StarStar::__construct — Construit un nouveau moteur xoshiro256**
Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.
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