正答3
解説
正解は3です。
パスワードは、平文のままではなくハッシュ値に変換して保存するのが安全です。
ハッシュ値から元のパスワードを求めることは困難なので、保存データが漏れても被害を抑えられます。
認証時は、入力されたパスワードを同じハッシュ関数で変換し、登録済みのハッシュ値と比べます。
【選択肢別解説】
1:× 利用者IDのハッシュ値を登録しても、パスワードのハッシュ値とは比較できません。
パスワードの正しさを確認できない方式です。
2:× 利用者IDのハッシュ値どうしを比べても、IDの一致しか確認できません。
パスワードの検証になっていません。
3:○ パスワードのハッシュ値を登録しておき、入力されたパスワードのハッシュ値と比べます。
平文のパスワードを保存せずに認証できる適切な方法です。
4:× 登録したのはパスワードのハッシュ値なので、入力された利用者IDのハッシュ値と比べても意味がありません。
【ポイント】
ハッシュ関数は一方向性をもち、ハッシュ値から元のデータを復元できません。
同じパスワードが同じハッシュ値にならないよう、ソルトを加える対策もあります。