¿Debo usar urandom o openssl_random_pseudo_bytes?
Estoy desarrollando un sitio en PHP 5.4 y me preguntaba qué es mejor usar para generar un sal aleatorio para la seguridad de contraseña.
$salt = sha1(openssl_random_pseudo_bytes(23));
o
$seed = '';
$a = @fopen('/dev/urandom','rb');
$seed .= @fread($a,23);
$salt = sha1(seed);
o debería simplemente ir con:
$salt = openssl_random_pseudo_bytes(40);
o
$salt = '';
$a = @fopen('/dev/urandom','rb');
$salt .= @fread($a,23);