(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 por orden de prioridad son las siguientes:
Nota: Aunque esta función fue añadida en PHP 7.0, una » implementación en espacio de usuario está disponible 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));
?>Resultado del ejemplo anterior es similar a:
string(10) "385e33f741"