1

約160万人のユーザーがいる既存のデータベースがあります。現在、パスワードはソルトされたSHA1として保存されていますが、すべてソルトされたSHA256にアップグレードしたいと思います。

ログイン時に各ユーザーを移行し、基本的に古いハッシュに対してパスワードを検証し、一致する場合は新しいより強力なハッシュを作成する場合に、これまでに行ったアプローチ。これは正常に機能しますが、プロセスが遅くなります。

私が見る限り、このプロセスを短縮する簡単な方法はありません。もっと良い方法はありますか?

4

2 に答える 2

1

元のプレーンテキストのパスワードをどこかに保存しない限り、ハッシュを「アップグレード」することはできません。ハッシュ化されたテキストは破棄され、単に「un-sh1」して元に戻すことはできません。ユーザーのために新しいsha256ベースのpwsを一括生成して、新しいものを電子メールで送信する場合を除いて、おそらくあなたの方法が唯一の実用的な方法です。

于 2012-08-17T19:43:34.343 に答える
1

あなたが説明するのは、ユーザーをより弱い/古いハッシュアルゴリズムからより強い/新しいハッシュアルゴリズムに移行するための適切で合法的な方法です。私はこのテクニックを複数の状況でうまく実装しました。全員を一度に移行しようとすると、UXの恐ろしいアイデアになり、パスワードをメールで送信する必要があるという問題が発生します。これは、セキュリティとUXの両方の理由から悪いアイデアです。

あなたは今そのような努力をしているので、ソルトされたSHA-256とは異なるアルゴリズムを使用することを検討することをお勧めします。ソルトSHA-512はより高いレベルのセキュリティを提供し、ハッシュを拡張するスキームを実装することはさらに優れています(もちろん、パスワード+ソルトから始めてSHA-512を何度も繰り返します)。または、bcrypt、scrypt、PBKDF2などのパスワードハッシュ用に特別に設計されたアルゴリズムを利用することもできます。

于 2012-08-21T23:49:31.347 に答える