PHP 日本会议 2024

Random\Engine\PcgOneseq128XslRr64::__construct

(PHP 8 >= 8.2.0)

Random\Engine\PcgOneseq128XslRr64::__construct构造一个新的 PCG Oneseq 128 XSL RR 64 引擎

描述

public Random\Engine\PcgOneseq128XslRr64::__construct(字符串|整数|null $seed = null)

警告

此函数目前没有文档;只有其参数列表可用。

参数

seed

内部 128 位(16 字节)状态(由一个无符号 128 位整数组成)的填充方式取决于用作 seed 的类型。

类型 描述
null 使用 CSPRNG 生成 16 个随机字节来填充状态。
int 通过将状态设置为 0,推进引擎一步,添加 seed 的值(解释为无符号 64 位整数),然后再次推进引擎一步来填充状态。
string 通过将 16 字节的 字符串 解释为小端序无符号 128 位整数来填充状态。

错误/异常

示例

示例 #1 Random\Engine\PcgOneseq128XslRr64::__construct() 示例

<?php
// 使用随机的 128 位种子。
$e = new \Random\Engine\PcgOneseq128XslRr64();

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

示例 #2 从 字符串 派生种子

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

// 使用二进制输出截断 SHA-256 对字符串进行哈希
// 将 $string 转换为 128 位种子。使用相同的
// 字符串将导致相同的随机数序列。
$e = new \Random\Engine\PcgOneseq128XslRr64(
substr(hash('sha256', $string, binary: true), 0, 16)
);

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

上面的示例将输出

8333ef59315b16d8
添加注释

用户贡献注释

此页面没有用户贡献的注释。
To Top