0

自分のデータベースにパスワードを保存することは、Google や Facebook などのサービスを使用する場合に比べて重大なセキュリティ ホールであることは理解していますが、次のコードを使用して、ソルト ハッシュを使用してユーザー名とパスワードを安全に保存できるかどうか疑問に思っていました。

$username = $_POST['user']
$salt = md5(openssl_random_psuedo_bytes(24, true));
$pass = sha1($salt.$_POST['pass'])

かなり安全だと思いますが、私は専門家ではありません。

編集:

この方がいいと思いますよね?

$salt1 = md5(sha1(openssl_random_psuedo_bytes(32, true));
$pass = password_hash($_POST['pass'] . $salt1, PASSWORD_BCRYPT);

パスワードを保存するためのまともなメカニズムを見つけることに少しでも近づいていますか?

4

1 に答える 1

3

非常に悪い(もっと悪いかもしれないが)

  1. SHA1 はあまり安全ではありません。
  2. すべての直接ハッシュ関数は速すぎてパスワードに使用できません。

PBKDF2 または bcrypt または scrypt を使用する必要があります。

于 2015-01-19T23:16:52.253 に答える