PHP 8.4.2 Released!

Random\Engine\Xoshiro256StarStar::__construct

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::__constructConstruit un nouveau moteur xoshiro256**

Description

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

Avertissement

Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

Liste de paramètres

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.

Erreurs / Exceptions

  • Si la longueur d'une string seed n'est pas de 32 octets, une ValueError sera lancée.
  • Si une string seed est composée de 32 octets NUL ("\x00"), une ValueError sera lancée.

Exemples

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

User Contributed Notes

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