openssl_random_pseudo_bytes
(PHP 5 >= 5.3.0)
openssl_random_pseudo_bytes — Genera una cadena de bytes pseudo-aleatoria
Descripción
$length
[, bool &$crypto_strong
] )
Genera una cadena de bytes pseudo-aleatoria, con el número de bytes
determinado por el parámetro length.
También indica si se usó un algoritmo criptográficamente fuerte para producir los
bytes pseudo-aleatorios, y hace esto mediante el parámetro opcional crypto_strong.
Es raro que este parámetro sea FALSE, pero algunos sistemas pueden ser antiguos rotos.
Parámetros
-
length -
La longitud de la cadena de bytes desada. Debe ser un entero positivo. PHP intentará asignar este parámetro a un entero no nulo para usarlo.
-
crypto_strong -
Si se pasó en la función, mantendrá un valor booleano value que determina si el algoritmo usado fue "criptográficamente fuerte", p.ej., seguro para el uso con GPG, contraseñas, etc.
TRUEsi lo hizo, de otro modoFALSE
Valores devueltos
Devuelve el string de bytes generado si se tuvo éxito, o FALSE en caso de error.
Ejemplos
Ejemplo #1 Ejemplo de openssl_random_pseudo_bytes()
<?php
for ($i = -1; $i <= 4; $i++) {
$bytes = openssl_random_pseudo_bytes($i, $cstrong);
$hex = bin2hex($bytes);
echo "Longitudes: Bytes: $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:
Longitudes: Bytes: -1 y Hex: 0 string(0) "" NULL Longitudes: Bytes: 0 y Hex: 0 string(0) "" NULL Longitudes: Bytes: 1 y Hex: 2 string(2) "42" bool(true) Longitudes: Bytes: 2 y Hex: 4 string(4) "dc6e" bool(true) Longitudes: Bytes: 3 y Hex: 6 string(6) "288591" bool(true) Longitudes: Bytes: 4 y Hex: 8 string(8) "ab86d144" bool(true)