#django #hash #passwords
#django #хэш #пароли
Вопрос:
Мне нужно хранить свои пароли в виде обычного текста в базе данных (это просто практический проект Django). Вот почему я добавил хэшер паролей:
class PlainTextPassword(BasePasswordHasher):
algorithm = "plain"
def salt(self):
return ''
def encode(self, password, salt):
assert salt == ''
return password
def verify(self, password, encoded):
return password == encoded
def safe_summary(self, encoded):
return OrderedDict([
(_('algorithm'), self.algorithm),
(_('hash'), encoded),
])
Все работает нормально. Но проблема в том, что я не могу войти в систему с этими паролями, моя теория заключается в том, что Django передает уже хэшированный пароль для проверки, и именно поэтому пароли не совпадают. Я использую allauth lib. У кого-нибудь есть решение?
Комментарии:
1. вы можете просто использовать md5 для шифрования вашего пароля и сохранения его в вашей базе данных. для получения дополнительной информации ознакомьтесь с официальными документами здесь — > docs.djangoproject.com/en/2.2/_modules/django/contrib/auth /…
2. Спасибо за предложение, но мне нужны простые текстовые пароли.