snipt/accounts/management/commands/migrate_user_passwords.py

24 lines
694 B
Python
Raw Normal View History

2015-10-12 09:51:31 -07:00
#!/usr/bin/env python
from django.contrib.auth.models import User
from django.core.management.base import BaseCommand
class Command(BaseCommand):
help = u"Convert user passwords to use built-in Django bcrypt."
def handle(self, *args, **options):
users = User.objects.all()
self.stdout.write(u"Updating %s user passwords..." % users.count())
for user in users:
2019-01-23 15:52:55 -08:00
if user.password[0:3] == "bc$":
2015-10-12 09:51:31 -07:00
pw = user.password
2019-01-23 15:52:55 -08:00
new_password = pw[0:3].replace("bc$", "bcrypt$") + pw[3:]
2015-10-12 09:51:31 -07:00
user.password = new_password
user.save()
self.stdout.write(u"User passwords migrated successfully.")