я должен использовать urandom или openssl_random_pseudo_bytes?

Я разрабатываю сайт в php 5.4, и мне было интересно, что лучше использовать для генерации случайной соли для безопасности пароля?

$salt = sha1(openssl_random_pseudo_bytes(23));

или же

$seed = '';
$a = @fopen('/dev/urandom','rb');
$seed .= @fread($a,23);
$salt = sha1(seed);

или я должен просто пойти с:

$salt =  openssl_random_pseudo_bytes(40);

или же

$salt = '';
$a = @fopen('/dev/urandom','rb');
$salt .= @fread($a,23);

Ответы на вопрос(2)

Ваш ответ на вопрос