Django шифрование паролей

kull

Новичок
Пользователь
Мар 7, 2022
4
0
1
Доброго времени суток!
Есть телеграм бот который должен выдавать пароль для входа на сайт Django. Не могу решить задачу по шифрованию паролей.

Прочитал в интернете что в джанго можно установить Bcrypt. Но когда я попробовал это сделать в джанге создается хеш виде bcrypt$$2b$12$uxzTn5BMe4bnn/qPw4lkr.DeY3vOY4g8iQWuNYi0eFRwx5TdlzQ4G он равняется паролю U0P96wkp

Но если этот же пароль делаю через бота то хеш такой $2b$12$sIx1zymCxoMDuXGEqem68O/GlGlxNOxsqFi3Nbl/HGdmJ/4OGm31e
Соотвественно хеш который получается через бода он не подходит для джанго. Как можно решить эту задачу?

Код который шифрует пароль:
Код:
hashed = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt())
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 589
459
83
ну посмотрите как он хеширует в исходниках, и сделайте у себя в джанге так же... или наоборот
 

kull

Новичок
Пользователь
Мар 7, 2022
4
0
1
Разобрался!
Решение следующее, устанавливается библиотека passlib.hash

Python:
from passlib.hash import django_pbkdf2_sha256


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

Форум IT Специалистов