MD5ハッシュを使ってデータベースにユーザーパスワードを格納している古いアプリケーションがあります。私はこれをSHA-2ファミリーのものに置き換えたいと思っています。パスワードハッシュをMD5からSHAに変換するにはどうすればよいですか?
私はこれを達成する2つの方法を考えていましたが、どちらもやっかいなようです。
1)ブール値「フラグ」フィールドを追加します。この後、ユーザーが初めて認証するときは、MD5パスワードハッシュをSHAパスワードハッシュに置き換え、フラグを設定します。私はその後、パスワードのハッシュが変換されているかどうかを確認するフラグを確認することができます。
2)SHAハッシュを格納するための2番目のパスワードフィールドを追加します。ユーザーがこれ以降に初めて認証するときは、SHAでパスワードをハッシュし、新しいフィールドに格納します(おそらく、同時にMD5ハッシュを削除します)。次に、SHAフィールドに値があるかどうかを調べることができます。これは本質的に私の旗になります。
どちらの場合でも、ログイン頻度の低いユーザーが頻繁にMD5認証を実行しなければなりません。もはやアクティブではないユーザーは、SHAに切り替わることはありません。
これを行うより良い方法はありますか?
あなたの2を試すことができますソリューションは私には大丈夫です。 – wtaniguchi
そして、私はネッドの答えを上げています。彼はそこで良い点を持っています。 – wtaniguchi
切り替えられていないユーザーについては、特定の割合のユーザーが切り替えられ、MD5ハッシュを取り除くだけの時間が経過した後に検討したいと思います。その期間中にログオンしていない人は、再度ログインしたときにパスワードをリセットする必要があります。それが受け入れられるかどうかは、ビジネス上の決定です。 –