(PHP 5 >= 5.3.0)
openssl_random_pseudo_bytes — Genera una cadena de bytes pseudo-aleatoria
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 loa 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.
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.
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. TRUE si lo hizo, de otro modo FALSE
Devuelve el string de bytes generado si se tuvo éxito, o FALSE en caso de error.
Example #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)