PHP Conference Japan 2024

Random\Engine\Xoshiro256StarStar::__construct

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::__construct构造一个新的 xoshiro256** 引擎

描述

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

警告

此函数目前未记录;仅提供其参数列表。

参数

seed

内部 256 位(32 字节)状态(由四个无符号 64 位整数组成)的播种方式取决于用作 seed 的类型。

类型 描述
null 使用 CSPRNG 生成 32 个随机字节填充状态。
int 使用 SplitMix64 算法填充状态,该算法以 seed(解释为无符号 64 位整数)为种子生成四个连续值。
string 通过将 32 字节的 字符串 解释为四个小端序无符号 64 位整数来填充状态。

错误/异常

示例

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

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

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

示例 #2 从 字符串 推导出种子

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

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

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

以上示例将输出

6e013453678388c2
添加注释

用户贡献注释

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