Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 17, 2022 12:42:08

kull
Зарегистрирован: 2022-03-07
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Шифрование пароля

Есть телеграм бот который регистрирует пользователей. Бот связан с базой от сайта джанго.
Возникает проблема с шифрованием пароля. В интернете прочитал чтоб добиться одинакого хеша пароля надо установить в джанго Bcrypt. Попробовал этот способ но при шифровании пароля у меня получаются разные хеши
В джанго такой: bcrypt$$2b$12$Konyi2APyEDjGBxRC7qsru5UYTVmTIWN7oIvvp/EbNQWdxzwk60MO
В боте такой: $2b$12$oKjIG2qv38PP3csASuugeuRKGT1j99jiZFwygSImygWb82Ps.H65W

В обоих вариантах используется Bcrypt

Вот так шифрую пароль в боте:

 hashed = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt())

Пробовал просто хеш пароля вставить в базу и авторизоваться на сайте, пароль не подходит.
Как добиться чтоб пароль сгенерировался в боте и сохранился в базу?

Офлайн

#2 Апрель 19, 2022 18:16:26

kull
Зарегистрирован: 2022-03-07
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Шифрование пароля

Разобрался!
Решение следующее, устанавливается библиотека passlib.hash

 from passlib.hash import django_pbkdf2_sha256
password = await generate_alphanum_random_string(8) # генирация случайного пароля
hash_password = django_pbkdf2_sha256.hash(password, rounds=320000) # хэшируем пароль

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version