1

ユーザーログインおよび登録システムを作成しており、Djangoの認証をバイパスすることを決定しました(いくつかの理由で、この質問の範囲外です)。

パスワードにはまだ暗号化が必要であり、auth(pbkdf2_sha256、私は信じています)によって実装された暗号化を使用したいと思います。自分でロールすることもできますが、可能であればDjangoを使用したいと思います(ここでも、authパッケージを使用しません)。

Djangoのインストール(最新の1.4.1があります)を見ると、authフォルダー(およびhashers.pyというファイル)が見つかりましたが、Pythonを初めて使用するため、ここから暗号化するためにどこに行けばよいかわかりません。パスワード。

ありがとう!

編集:

寄せられたコメントと回答に基づいて、組み込みのメソッドとテーブルを使用することにしました。

4

1 に答える 1

3

djangoのソースをset_password見ると、それが関数を呼び出していることがわかりますmake_password。これはおそらくあなたが探しているものです。

次に、 djangocheck_passwordを使用してパスワードを確認できます。

django.contrib.authこれらの関数はで定義されているため、これはに依存関係を追加しますがdjango.contrib.auth.hashers、これはDjangoの標準であるため、問題ではないと思います。さらに、django.contrib.auth.hashersからの依存関係はありませんdjango.contrib.auth

ただし、ここでセキュリティの重要な部分について話している場合は特に、デフォルトのdjangoauthパッケージを使用する必要があるというコメントで提供されたアドバイスのみをサポートできます。

ちなみに、パスワードをハッシュするために使用されるアルゴリズムは、実際には設定によって制御されますPASSWORD_HASHERS

于 2012-09-16T16:38:27.757 に答える