PHP 8.4.0 RC4 available for testing

Random\Engine\PcgOneseq128XslRr64::__construct

(PHP 8 >= 8.2.0)

Random\Engine\PcgOneseq128XslRr64::__constructConstruit un nouveau moteur PCG Oneseq 128 XSL RR 64

Description

public Random\Engine\PcgOneseq128XslRr64::__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

L'état interne de 128 bits (16 octets) composé d'un entier non signé de 128 bits est initialisé dépend du type utilisé comme seed.

Type Description
null Remplit l'état avec 16 octets aléatoires générés en utilisant le CSPRNG.
int Remplit l'état en définissant l'état à 0, en avançant le moteur d'un pas, en ajoutant la valeur de seed interprétée comme un entier non signé de 64 bits, et en avançant le moteur d'un autre pas.
string Remplit l'état en interprétant une chaîne de 16 octets string en tant qu'entier non signé de 128 bits en little-endian.

Erreurs / Exceptions

  • Si la longueur d'un string seed n'est pas de 16 octets, une ValueError sera lancée.

Exemples

Exemple #1 Exemple de Random\Engine\PcgOneseq128XslRr64::__construct()

<?php
// utilise une graine aléatoire de 128 bits.
$e = new \Random\Engine\PcgOneseq128XslRr64();

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

Exemple #2 Deriving a seed from a chaîne de caractères

<?php
$string
= "My string seed";

// Hache la chaîne avec un SHA-256 tronqué en utilisant une sortie binaire
// pour transformer la chaîne en une graine de 128 bits. Utiliser la même
// chaîne donnera la même séquence de nombres aléatoires.
$e = new \Random\Engine\PcgOneseq128XslRr64(
substr(hash('sha256', $string, binary: true), 0, 16)
);

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

L'exemple ci-dessus va afficher :

8333ef59315b16d8
add a note

User Contributed Notes

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