Random\Randomizer::getBytesFromString

(PHP 8 >= 8.3.0)

Random\Randomizer::getBytesFromStringDevuelve bytes aleatorios a partir de una cadena

Descripción

public Random\Randomizer::getBytesFromString(string $string, int $length): string

Genera una cadena que contiene bytes aleatorios seleccionados uniformemente de la string de entrada con la length solicitada.

La probabilidad de que un byte sea seleccionado es proporcional a su parte de la string de entrada. Si cada byte ocurre el mismo número de veces, cada byte tiene la misma probabilidad de ser seleccionado.

Parámetros

string

La string de entrada a partir de la cual se seleccionan los bytes devueltos.

length

La longitud de la cadena aleatoria string que debe ser devuelta en bytes; debe ser 1 o más.

Valores devueltos

Una string que contiene el número solicitado de bytes aleatorios tomados de la entrada string.

Errores/Excepciones

Ejemplos

Ejemplo #1 Ejemplo de Random\Randomizer::getBytesFromString()

<?php
$randomizer
= new \Random\Randomizer();

printf(
"%s.example.com",
$randomizer->getBytesFromString('abcdefghijklmnopqrstuvwxyz0123456789', 16)
);
?>

El resultado del ejemplo sería algo similar a:

3zsw04eiubcf82jd.example.com

Ejemplo #2 Generar un código aleatorio para la autenticación multi-factor

<?php
// El motor Secure es el motor por omisión, pero se hace explícito, ya que
// los códigos multi-factor son sensibles a la seguridad.
$randomizer = new \Random\Randomizer(new \Random\Engine\Secure());

echo
implode('-', str_split($randomizer->getBytesFromString('0123456789', 20), 5));
?>

El resultado del ejemplo sería algo similar a:

11551-80418-27047-42075

Ejemplo #3 Seleccionar a partir de una cadena con una distribución no uniforme

<?php
$randomizer
= new \Random\Randomizer();

echo
$randomizer->getBytesFromString('aaaaabcdef', 20);
?>

El resultado del ejemplo sería algo similar a:

fddacbeaaeaaacaaaaca

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top