PHP Conference Kansai 2025

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)

Aviso

Esta função não está documentada; apenas a lista de argumentos está disponível.

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
adicione uma nota

Notas Enviadas por Usuários (em inglês)

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