2

BCrypt テクノロジーを使用して、パスワードをハッシュとしてデータベースに保存します。MD5 や SHA-1 などの高速ハッシュ アルゴリズムと比べると少し遅いかもしれませんが、セキュリティがより重要であるため、使用することにしました。

.Net では、http://bcrypt.codeplex.com/を使用して実装しました。

BCrypt.Net.BCrypt.HashPassword("Password", BCrypt.Net.BCrypt.GenerateSalt(12));

管理者が新しいユーザーのユーザー名とパスワードを作成するサイトで。

ハッシュ化されたパスワードの保存に問題はありません。ただし、管理者がパスワードを更新したい場合は、古いパスワードを確認する必要があります。Bcrypt.Net の DB に保存されているハッシュ値を解読する方法は見当たりません。

Bcrypt ハッシュ化パスワードからテキストを生成する方法はありますか? ただし、それが可能であってはならないことに同意しますが、これを行うためにいくつかのシナリオがあります:(

更新:プレーン テキストとしていくつかのテーブルに保存されている既定のパスワードを使用し、そのテキストをハッシュして、ユーザーのパスワードとして保存することにしました。ユーザーがサイトにログインすると、リセットするまでパスワードを変更する必要があります。これはいい音でしょうか?

4

1 に答える 1

15

暗号化ハッシュは、設計上、一方向関数です。元に戻すことが不可能であることは、まさにハッシュ関数の意図です。さらに、複数の入力を同じ出力にハッシュできます。

新しいパスワードを設定するために古いパスワードへのアクセスを要求することは、設計に欠陥があることを示しています。パスワードを更新するために、平文で古いパスワードにアクセスする必要があるのはなぜですか?

于 2013-03-23T05:58:26.280 に答える