ユーザーとそのデータのヒープをdjangoプロジェクトにインポートしました。私はそれぞれにパスワードを割り当てる必要があります。 Djangoハッシュと塩に対処するためのパスワード生成のための抜粋はありますか?Djangoパスワードジェネレータ
答えて
あなたはまた、make_random_password
for user in new_users:
password = User.objects.make_random_password()
user.set_password(password)
# email/print password
'make_random_password()'はキーワード引数 'length'と' allowed_chars'を受け付けます。 – benjaoming
import random
import string
user.set_password(''.join([random.choice(string.digits + string.letters) for i in range(0, 10)]))
user.save()
だけでAPIを使用する - django.contrib.auth.models.User
は.set_password()
方法があります。ここでは(私がテストしていないことが、あなたのアイデアを得る必要があります)の例です:
from random import choice
from string import digits, letters
from django.contrib.auth.models import User
def _pw(length=6):
s = ''
for i in range(length):
s += random.choice(digits + letters)
return s
for user in User.objects.all(): # or .filter(...)
user.set_password(_pw())
user.save()
また、あなたがauth
の外にfrom django.utils.crypto import get_random_string
を使用することができる機能で構築を使用することができますモジュールでは、キーワード引数length
とallowed_chars
も受け入れます。
+1。 User.objects.make_random_password()は、Djangoの設定をしなくてもスタンドアロンのスクリプトから実行できるので、これを優先します。私はランダムな器具の生成にこれを使用します。 – m000
だけDjango`sソリューションが必要な場合は、次の試してみてください。
については、通常のパスワードを生成するには、BaseUserManagerを使用してみてください。あなたが強いとパワーパスワードが必要な場合は
In [341]: from django.contrib.auth.base_user import BaseUserManager
# simple password, it length is 10, and it contains ascii letters and digits
In [344]: BaseUserManager().make_random_password()
Out[344]: 'aYMX5Wk7Cu'
In [345]: BaseUserManager().make_random_password()
Out[345]: 'rM7759hw96'
In [346]: BaseUserManager().make_random_password()
Out[346]: 'EkbZxEXyAm'
# passed length of a password
In [347]: BaseUserManager().make_random_password(45)
Out[347]: 'dtM9vhSBL9WSFeEdPqj8jVPMH9ytsjPXrkaHUNUQu4zVH'
In [348]: BaseUserManager().make_random_password(45)
Out[348]: 'jypVaXuw9Uw8mD4CXtEhtj2E4DVYx23YTMwy8jGTKsreR'
# passed length of a password and symbols for choice
In [349]: BaseUserManager().make_random_password(45, 'abcdf')
Out[349]: 'daacbfabfccfdbdddbbcddcfcfbfcdabbaccbfcadbccd'
In [351]: import string
# password contains only digits
In [352]: BaseUserManager().make_random_password(50, string.digits)
Out[352]: '00526693878168774026398080457185060971935025500935'
# password contains only ascii symbols in lowercase
In [353]: BaseUserManager().make_random_password(50, string.ascii_lowercase)
Out[353]: 'nvftisuezofnashdhlalfmscnmqtvigwjpfwsyycsefekytmar'
# password contains only ascii symbols in uppercase
In [354]: BaseUserManager().make_random_password(50, string.ascii_uppercase)
Out[354]: 'APKSUHHHTAAJCFEUONIXWWAKJGXIBHTQDZBTSYFTPDFOSRYEQR'
、その後、ジャンゴ
In [355]: from django.contrib.auth.hashers import make_password
In [357]: make_password('')
Out[357]: 'pbkdf2_sha256$30000$JuKXdW3shCjL$PsPJX7Zale5JUBkWpIJI/+QlsuVWhz9Q+GQWVtTpQ/Y='
In [358]: make_password('text')
Out[358]: 'pbkdf2_sha256$30000$lSv8kQ39BHE7$KQC5hRhuphYBXmBrXZBJGC+nxygfNWTDf8zQf/NNgY8='
In [360]: make_password('text', salt=['simething'])
Out[360]: "pbkdf2_sha256$30000$['simething']$D+1vJQx9W2/c9sIz/J+7iEz4d4KFPg/R+0S87n/RKR4="
In [361]: make_password('text', salt=['something'])
Out[361]: "pbkdf2_sha256$30000$['something']$NIcmOkEyg6mnH5Ljt+KvI2LVgZWg6sXS6Rh865rbhSc="
ノートに内蔵された "hashers" を試してみてください。
ジャンゴ1.10とPython 3.4に使用- 1. django用のPythonパスワードジェネレータ
- 2. KSHパスワードジェネレータ
- 3. パスワードジェネレータChrome拡張機能のonsubmit/onclickの置き換え方法
- 4. 無料のJava表音パスワードジェネレータを使用できますか?
- 5. JavaScriptのパスワードジェネレータのセキュリティに関する考慮事項は何ですか?
- 6. どのように文字を使用するコマンドプロンプトでパスワードジェネレータを作成しますか?
- 7. Django--django-admin.pyが
- 8. Django RESTful API - django-pistonとdjango-tastypie
- 9. DjangoとDjango CMSエラー
- 10. DjangoはDjangoテンプレートで
- 11. DjangoテンプレートでDjangoテンプレート
- 12. Django、django-socketio、mongodb backend
- 13. DJangoのdjango-paypalモジュール
- 14. Djangoフォームウィザードとdjango-paypal
- 15. Django:フルフェッジFacebookとTwitterの統合(Django-Facebook、django-social-auth、django-allauth)
- 16. DjangoのカスタムフィルタDjango 1.3以下
- 17. Djangoデバッグツールバーのインストール(Django 1.9)
- 18. Django django-admin.pyコマンドの問題
- 19. Django RESTフレームワーク+ Django REST Swagger + ImageField
- 20. django-south with django-audit-log
- 21. django-rest-framework + django-polymorphic ModelSerialization
- 22. djangoモデルのmanage.py sqlコマンド - Django
- 23. Django 1.3 staticfiles + django-compressor + CloudFront
- 24. Django contrib.auth.models.User with Django MongoDB Engine
- 25. Django管理サイトのDjango管理サイトのdjango-nonrelから
- 26. CentOSのDjango django-admin.pyインポート問題(enviroment_variable problem)
- 27. Django Rest Framework/Djangoパフォーマンスの問題
- 28. Django-Instant Djangoを使い始める
- 29. django-cms on google-app-engine(django-norel)
- 30. Django - AWS Elastic BeanstalkのDjango Restエンドポイントにアクセス
これは変更されている可能性がありますが、['.set_pass]を使用できるので、Djangoのハッシュとソルトに対処する必要はありません。 'User'オブジェクトの' word() 'ヘルパー関数(https://docs.djangoproject.com/en/1.10/ref/contrib/auth/#django.contrib.auth.models.User.set_password)選択したキー派生関数でパスワードを提供し、 '.password'フィールド/属性をそれに設定します。 –