私はPHP 5.4でサイトを開発していますが、パスワードセキュリティのためにランダムな塩を使用する方が良いと思いますか?私はurandomまたはopenssl_random_pseudo_bytesを使用する必要がありますか?
$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);
'sha1()'を使うと、ランダムな塩の有効性が大幅に低下します。なぜなら、それは40文字で、0-9とa-f文字しか含まない文字列に変換するからです。 –
私は両方の提案を行っています – John