(PHP 8 >= 8.2.0)
Random\Engine\Xoshiro256StarStar::__construct โ ๆฐใใ xoshiro256** ใจใณใธใณใไฝๆใใ
seed
็ฌฆๅทใชใ64ใใใๆดๆฐใงๆงๆใใใ 256ใใใ(32ใใคใ) ใฎๅ
้จในใใผใใใ
ใฉใฎใใใซไธใใใใใใฏ seed
ใฎใฟใคใใซไพๅญใใพใใ
| ใฟใคใ | ่ชฌๆ |
|---|---|
| null | ใฉใณใใ ใช32ใใคใใฎในใใผใใใ CSPRNG ใไฝฟใฃใฆ็ๆใใๅใใพใใ |
| int |
seed
ใ64ใใใใฎ็ฌฆๅทใชใๆดๆฐใจ่งฃ้ใใ
ใใฎๅคใ SplitMix64 ใขใซใดใชใบใ ใซไธใใฆ็ๆใใใ
4ใคใฎ้ฃ็ถใใๅคใงในใใผใใๅใใพใใ
|
| string | 32ใใคใใฎๆๅญๅใใ4ใคใฎใชใใซใจใณใใฃใขใณใ ใใค็ฌฆๅทใชใ64ใใใใฎๆดๆฐใจ่งฃ้ใใฆในใใผใใๅใใพใใ |
seedใๆๅญๅใงใ้ทใใ32ใใคใใงใชใใฃใๅ ดๅใ
ValueError ใในใญใผใใใพใใ
seedใๆๅญๅใงใ32 ๅใฎ NULใใคใ("\x00") ใงๅใใใใฆใใๅ ดๅใ
ValueError ใในใญใผใใใพใใ
ไพ1 Random\Engine\Xoshiro256StarStar::__construct() ใฎไพ
<?php
// ใฉใณใใ ใช256ใใใใฎใทใผใใไฝฟใใพใใ
$e = new \Random\Engine\Xoshiro256StarStar();
$r = new \Random\Randomizer($e);
?>ไพ2 ๆๅญๅใใใทใผใใไฝใ
<?php
$string = "My string seed";
// $string ใ256ใใใใฎใทใผใใซๅคๆใใใใใซใSHA-256 ใงๆๅญๅใใใใทใฅๅใใ
// ใใคใใชใงๅบๅใใพใใ
// ๅใๆๅญๅใไฝฟใใจใๅใใฉใณใใ ใชใทใผใฑใณในใ็ๆใใใพใใ
$e = new \Random\Engine\Xoshiro256StarStar(
hash('sha256', $string, binary: true)
);
echo bin2hex($e->generate()), "\n";
?>ไธใฎไพใฎๅบๅใฏไปฅไธใจใชใใพใใ
6e013453678388c2