CakeFest 2024: The Official CakePHP Conference

Random\Engine\PcgOneseq128XslRr64::__construct

(PHP 8 >= 8.2.0)

Random\Engine\PcgOneseq128XslRr64::__constructConstructs a new PCG Oneseq 128 XSL RR 64 engine

Beschreibung

public Random\Engine\PcgOneseq128XslRr64::__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 128 bit (16 byte) state consisting of one unsigned 128 bit integer is seeded depends on the type used as the seed.

Type Beschreibung
null Fills the state with 16 random bytes generated using the CSPRNG.
int Fills the state by setting the state to 0, advancing the engine one step, adding the value of seed interpreted as an unsigned 64 bit integer, and advancing the engine another step.
string Fills the state by interpreting a 16 byte string as a little-endian unsigned 128 bit integer.

Fehler/Exceptions

Beispiele

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

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

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

Beispiel #2 Deriving a seed from a String

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

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

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

8333ef59315b16d8
add a note

User Contributed Notes

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