(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"