1

ドキュメントでは、djangodjango はパスワードを文字列として作成すると書かれていますalgo$hash

algo はpbkdf2デフォルトで、 hash はsha256パスワード文字列のハッシュです。

いくつかの記事で、ランダムsaltを使用して安全なパスワードが作成され、ユーザーごとにデータベースに保存されると読んだことがあります。これにより、悪意のあるユーザーが s を使用してパスワードをrainbow table破ろうとするのが困難になります。私のdjangoプロジェクトでは、'pbkdf2_sha256$'ユーザーごとに始まる単一の文字列しか見つかりませんでした。保存されているソルトが見つかりませんでした。

これは、保存されたパスワードが raibow テーブルを使用した攻撃に対して脆弱であることを意味しますか?

4

1 に答える 1

1

Djangoのドキュメントには、ここここでパスワードをソルトでハッシュすると明示的に記載されています。

Userオブジェクトのpassword属性は、次の形式の文字列です。

hashtype $ salt $ hash

これは、ドル記号文字で区切られたハッシュタイプ、ソルト、およびハッシュです。

ハッシュタイプは、sha1(デフォルト)、md5、またはcryptのいずれかです。これは、パスワードの一方向ハッシュを実行するために使用されるアルゴリズムです。ソルトは、ハッシュを作成するために生のパスワードをソルトするために使用されるランダムな文字列です。cryptメソッドは、標準のPythoncryptモジュールが使用可能なプラットフォームでのみサポートされていることに注意してください。

したがって、2ドルの記号があり、その間に塩があります。

于 2013-02-22T08:44:47.117 に答える