update page now
Laravel Live Japan

Random\Engine\Xoshiro256StarStar::__construct

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::__constructConstrói um novo mecanismo xoshiro256**

Descrição

public Random\Engine\Xoshiro256StarStar::__construct(string|int|null $seed = null)

Parâmetros

seed

A forma como o estado interno de 256 bits (32 bytes) composto por quatro inteiros de 64 bits sem sinal é semeado depende do tipo usado como seed.

Type Descrição
null Preenche o estado com 32 bytes aleatórios gerados usando o CSPRNG.
int Preenche o estado com quatro valores consecutivos gerados com o algoritmo SplitMix64 que foi semeado com seed interpretado como um inteiro de 64 bits sem sinal.
string Preenche o estado interpretando uma string de 32 bytes como quatro inteiros little-endian sem sinal de 64 bits.

Erros/Exceções

  • Se o comprimento de uma string seed não for 32 bytes, um ValueError será gerado.
  • Se uma string seed consistir em 32 bytes NUL ("\x00"), um ValueError será gerado.

Exemplos

Exemplo #1 Exemplo de Random\Engine\Xoshiro256StarStar::__construct()

<?php
/ Usa uma semente de 256 bits aleatória.
$e = new \Random\Engine\Xoshiro256StarStar();

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

Exemplo #2 Derivando uma semente de uma string

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

/ Faça o hash da string com SHA-256 usando a saída binária para transformar a
/ $string em uma semente de 256 bits. Usar a mesma string resultará
/ na mesma sequência de aleatoriedade.
$e = new \Random\Engine\Xoshiro256StarStar(
hash('sha256', $string, binary: true)
);

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

O exemplo acima produzirá:

6e013453678388c2
adicionar nota

Notas de Usuários

Não há notas de usuários para esta página.
To Top

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant