Сторнирование пароля django.contrib.auth.models.User, от sha1 до читаемой строки - PullRequest
5 голосов
/ 31 августа 2009
from django.contrib.auth.models import User
u = User.objects.get(username='test')
user.password
u'sha1$c6755$66fc32b05c2be8acc9f75eac3d87d3a88f513802

Возможно ли отменить это шифрование пароля?

Ответы [ 4 ]

17 голосов
/ 31 августа 2009

Да, это возможно. Все, что вам нужно, - это несколько миллионов лет и компьютер размером с нашу солнечную систему.

17 голосов
/ 01 сентября 2009

Sha-1 - односторонний хэш. Он не может быть отменен, за исключением использования атаки грубой силы, которая займет миллионы лет.

Существуют некоторые онлайн-базы данных, которые позволяют полностью изменить хэш распространенных слов / сочетаний слов. Тем не менее, django добавляет «соль» к паролю до того, как он вычислит хеш, поэтому вы не можете отменить пароли django.

Вот почему используется хеш. Никто не может узнать ваш пароль, даже системные администраторы: -)

8 голосов
/ 31 августа 2009

Нет, в этом все дело.

Если ваш пользователь забыл свой пароль, вам придется его сбросить.

1 голос
/ 07 сентября 2012

Django использует sha1 , который является односторонним хеш-кодом для хеширования пароля и "солит" пароль перед их шифрованием. Так что их расшифровка займет гораздо больше времени (может быть, наша жизнь). Пароли хешируются, так что никто не сможет их расшифровать, даже если они имеют хешированные значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...