Random\Engine\Xoshiro256StarStar::__construct

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::__constructConstructs a new xoshiro256** engine

Beschreibung

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

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Parameter zur Verfügung.

Parameter-Liste

seed

How the internal 256 bit (32 byte) state consisting of four unsigned 64 bit integers is seeded depends on the type used as the seed.

Type Beschreibung
null Fills the state with 32 random bytes generated using the CSPRNG.
int Fills the state with four consecutive values generated with the SplitMix64 algorithm that was seeded with seed interpreted as an unsigned 64 bit integer.
string Fills the state by interpreting a 32 byte string as four little-endian unsigned 64 bit integers.

Fehler/Exceptions

  • If the length of a string seed is not 32 bytes, a ValueError will be thrown.
  • If a string seed consists of 32 NUL bytes ("\x00"), a ValueError will be thrown.

Beispiele

Beispiel #1 Random\Engine\Xoshiro256StarStar::__construct() example

<?php
// Uses a random 256 Bit seed.
$e = new \Random\Engine\Xoshiro256StarStar();

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

Beispiel #2 Deriving a seed from a String

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

// Hash the string with SHA-256 using binary output to turn the
// $string into a 256 Bit seed. Using the same string will result
// in the same sequence of randomness.
$e = new \Random\Engine\Xoshiro256StarStar(
hash( 'sha256', $string, binary: true )
);

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

6e013453678388c2
add a note

User Contributed Notes

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