(PHP 7, PHP 8)
random_bytes — Obtiene bytes aleatorios criptográficamente seguros
Genera una cadena que contiene bytes seleccionados uniformemente de manera aleatoria con el valor de length
.
Dado que los bytes devueltos se eligen completamente al azar, la cadena resultante probablemente contendrá caracteres no imprimibles o secuencias UTF-8 inválidas. Puede ser necesario codificarlos antes de la transmisión o visualización.
La aleatorización generada por esta función es adecuada para todas las aplicaciones, incluyendo la generación de secretos a largo plazo, como claves de cifrado.
Las fuentes de aleatoriedad empleadas por esta función son las siguientes:
Nota: Aunque esta función se añadió a PHP en PHP 7.0, hay disponible una » implementación de espacio de usuario para PHP 5.2 hasta 5.6, inclusive.
length
La longitud de la string aleatoria que debe ser devuelta en bytes; debe ser mayor o igual a 1
.
Devuelve una string que contiene el número solicitado de bytes criptográficamente seguros.
length
es menor que 1
,
se lanzará una ValueError.
Versión | Descripción |
---|---|
8.2.0 | En caso de fallo CSPRNG, esta función lanzará ahora una Random\RandomException. Anteriormente se lanzaba una Exception básica. |
Ejemplo #1 Ejemplo con random_bytes()
<?php
$bytes = random_bytes(5);
var_dump(bin2hex($bytes));
?>
El resultado del ejemplo sería algo similar a:
string(10) "385e33f741"