こんにちは私はこれが良い練習であるかどうかについて質問しています。私は値を二重にハッシュすることはいろいろな理由で悪いことがあることを知っています。すでにハッシュされた値、良いか悪い練習でHMACを使用していますか?
私がしたいことは、このようなものでしょう。
$val = hash_hmac('sha256', md5($password), $salt);
この理由は、我々は、閉じたAPIを超える信頼できるパートナーで認証されていることです。パスワードは私たちのDBにMD5ハッシュとして保存されます。しかし、私はパートナーがネット上でこの同じ価値を送ることを望んでいません。
このようにして、私たちのデータベース内のmd5のパスワードを私たちのパートナーが送ったユニークなハッシュと比較することができます。
あなたは何と言うでしょうか?
ありがとうございます。これはユーザーに代わって行われます。われわれは、平文でDBにパスワードを格納していないことを明確にするために、無制限のMD5として保存します。私はここに着いたとき、それは自分自身を免れていないが、これのようだった。パートナーは、ノンス、httpダイジェストを正確に使用して、Google APIの資格情報を既に認証しています。二次認証は、エンドユーザーに代わって行われます。 – HarryYee
さて、これはまだ共有の秘密ですので、私の例のようにhmacをnonceで使うべきです...しかし、oauthのようなものに切り替えて、チャンスを得たらパスワードを再ハッシュしてください:) – bdonlan