(PHP 5 >= 5.3.0, PHP 7, PHP 8)
openssl_random_pseudo_bytes — Genera una cadena pseudo-aleatoria de octetos
Genera una chaîne de caractères pseudo-aleatoria de octetos, cuya longitud es
especificada por el argumento length
.
Indica asimismo si el algoritmo fuerte de criptología ha sido utilizado para
producir estos octetos pseudo-aleatorios, utilizando el argumento
strong_result
.
length
El tamaño deseado para la cadena de octetos. Debe ser un número entero positivo
inferior o igual a 2147483647
. PHP intentará
convertir este argumento a un entero no nulo para utilizarlo.
strong_result
Si se proporciona, determina si el algoritmo de criptología utilizado
era criptológicamente fuerte, es decir, seguro para ser utilizado con GPG, contraseñas, etc. true
si lo es, false
en caso contrario.
Devuelve la cadena de octetos generada.
openssl_random_pseudo_bytes() lanza una Exception en caso de error.
Versión | Descripción |
---|---|
8.0.0 |
strong_result ahora es nullable.
|
7.4.0 |
La función ya no devuelve false en caso de error, sino que lanza una Exception en su lugar.
|
Ejemplo #1 Ejemplo openssl_random_pseudo_bytes()
<?php
for ($i = 1; $i <= 4; $i++) {
$bytes = openssl_random_pseudo_bytes($i, $cstrong);
$hex = bin2hex($bytes);
echo "Longitud : Octetos : $i y Hex: " . strlen($hex) . PHP_EOL;
var_dump($hex);
var_dump($cstrong);
echo PHP_EOL;
}
?>
El resultado del ejemplo sería algo similar a:
Longitud : Octetos : 1 y Hex: 2 string(2) "42" bool(true) Longitud : Octetos : 2 y Hex: 4 string(4) "dc6e" bool(true) Longitud : Octetos : 3 y Hex: 6 string(6) "288591" bool(true) Longitud : Octetos : 4 y Hex: 8 string(8) "ab86d144" bool(true)