ホームページ >データベース >mysql チュートリアル >メンバーログイン用のソルトされたパスワードを正しく確認するにはどうすればよいですか?

メンバーログイン用のソルトされたパスワードを正しく確認するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-06 15:46:16594ブラウズ

How to Correctly Verify Salted Passwords for Member Login?

メンバーログイン用のソルト付きパスワードを確認する方法

安全なメンバーサイトでは、パスワードはソルト付きハッシュとしてデータベースに保存され、追加の保護層。ただし、これにより、開発者にとってログイン検証が困難になる可能性があります。

メンバー ログイン用のソルト付きパスワードを検証するには、次のいくつかの手順が必要です。

  1. ソルトを取得する:

    • SELECT クエリを使用して、メンバーのソルトに関連付けられたソルトを取得します。 username.
  2. ユーザーの入力パスワードのソルト化:

    • ソルトをユーザーの入力と連結します。
  3. ソルトされたパスワードのハッシュ:

    • パスワードの保存に使用されるものと同じハッシュ アルゴリズムを使用して、ソルトされたパスワードをハッシュします。でデータベース。
  4. 保存されたハッシュに対するチェック:

    • 別の SELECT クエリを実行して、ユーザーの保存されたハッシュを取得し、入力から計算されたハッシュと比較します。

メンバーログイン用に調整されたコード:

提供されたコードの主な問題は、$result の誤ったチェックにあります。 === 偽。正しいアプローチは、$result が実際に空の結果セットであるかどうかを確認することです。空の結果セットは PHP では true と評価されるためです。

// ... existing code

$result = mysqli_query($connect, $saltQuery);
if (mysqli_num_rows($result) === 0){
    die(mysqli_error());
}
$row = mysqli_fetch_assoc($result);
$salt = $row['salt'];

// ... remaining code

この調整されたコードは、メンバーの存在を正しくチェックします。適切なパスワード検証を確保しながら、一致するユーザー名とパスワードを使用します。

以上がメンバーログイン用のソルトされたパスワードを正しく確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。