パスワードハッシュに関するこの優れた回答を読んで、それを実装する方法を知りたい:
邪悪なノミは次のように書いています。
ユーザーごとに nonce を生成します。これだけで虹のテーブルは打ち負かされます。これは、範囲に応じて生成されるハッシュの数を拡張する乱数です。
ユーザーのパスワードのほかに、データベースに一意のトークンを保存しますか?
元の投稿のコード例:
function hash_password($password, $nonce) {
global $site_key;
return hash_hmac('sha512', $password . $nonce, $site_key);
}
このコードでパスワードを確認するにはどうすればよいですか? 説明させてください:
ユーザーがパスワードを送信すると、メールアドレスとハッシュ化されたパスワードが一致する既存のデータベース行を確認するために、そのハッシュを生成する必要があります。ユーザーについて何も知らないときに、この行を選択するにはどうすればよい$nonce
ですか? 何か不足していますか?メールアドレスだけでユーザーを選択し、後でパスワードハッシュを確認する必要があるのでしょうか?
ところで、このハッシュ方法をお勧めしますか?