Random\Engine\PcgOneseq128XslRr64::__construct
(PHP 8 >= 8.2.0)
Random\Engine\PcgOneseq128XslRr64::__construct — Constructs a new PCG Oneseq 128 XSL RR 64 engine
说明
警告
本函数还未编写文档,仅有参数列表。
参数
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 说明 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 ofseed
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.
错误/异常
-
If the length of a string
seed
is not 16 bytes, a ValueError will be thrown.
示例
示例 #1 Random\Engine\PcgOneseq128XslRr64::__construct() example
<?php
// Uses a random 128 Bit seed.
$e = new \Random\Engine\PcgOneseq128XslRr64();
$r = new \Random\Randomizer($e);
?>
示例 #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";
?>
以上示例会输出:
8333ef59315b16d8
+添加备注
用户贡献的备注
此页面尚无用户贡献的备注。
备份地址:http://www.lvesu.com/blog/php/random-engine-pcgoneseq128xslrr64.construct.php