0

パスワードを保存するために django.contrib.auth.hashers.make_password メソッドを使用しています。ユーザー名とパスワードを私のdjangoサイトに送信して認証を受けるiOSアプリがあります。生のパスワードではなく、暗号化されたパスワードを送信してもらいたいです。しかし、djangoがパスワードを暗号化する方法がわかりませんか? 他のプラットフォームの誰かが同じ暗号化されたパスワードをどのように生成できますか?

4

2 に答える 2

1

Django には、パスワードの暗号化に使用できるさまざまな方法があります。デフォルトでは、PBKDF2 が使用されます。

PASSWORD_HASHERS リストを見て、何が設定されているかを確認できます。

PASSWORD_HASHERS = ( 'django.contrib.auth.hashers.PBKDF2PasswordHasher', 'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher', 'django.contrib.auth.hashers.BCryptPasswordHasher', 'django.contrib.auth.hashers.SHA1PasswordHasher' 、「django.contrib.auth.hashers.MD5PasswordHasher」、「django.contrib.auth.hashers.CryptPasswordHasher」、)

これは、iOS でのそのアルゴリズムの実装に関する SO の記事です: PBKDF2 using CommonCrypto on iOS

問題は、パスワードがソルト化されていることです。ソルトがわからない場合、パスワードを正しくハッシュできません。そのため、出力ハッシュが一致するように、ソルトをデバイスに安全に送信する必要があります。

于 2012-08-18T07:59:06.553 に答える
0

バージョン <1.4 は SHA1、>=1.4 は PBKDF2 です。表を確認してください

select * from auth_user;

念のため、パスワード列はalgorithm$hashで詳細はドキュメントを確認してください。

于 2012-08-18T08:06:49.720 に答える