Хеширование паролей Django отличается от библиотеки Python passlib pbkdf2Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Хеширование паролей Django отличается от библиотеки Python passlib pbkdf2

Сообщение Anonymous »

С помощью администратора django я создал пользователя

Код: Выделить всё

email: [email protected]
password: ccpass!ccpass
Хешированный пароль, хранящийся в базе данных:

Код: Выделить всё

pbkdf2_sha256$260000$alGB1h2BRHwn83nz9fSJ3V$qippfbL8g59KPoDh+cIEh70TQCjuWeH8017VcLLpDIY=
Все, что я знаю, это то, что django генерирует хеш пароля с использованием алгоритма PBKDF2.
Мне нужно запустить чистый скрипт Python, который внутри своей части проверяет, соответствует ли пароль хешу. Я нашел библиотеку passlib. Могу предоставить пароль и раунды. Но откуда берется соль Джанго?

Код: Выделить всё

from passlib.hash import pbkdf2_sha256

password = 'ccpass!ccpass'
db_hashed_password = 'pbkdf2_sha256$260000$alGB1h2BRHwn83nz9fSJ3V$qippfbL8g59KPoDh+cIEh70TQCjuWeH8017VcLLpDIY='

salt = db_hashed_password.split('$')[2].encode()
pbkdf2_sha256.hash(password, rounds=260000, salt=salt)
результат:

Код: Выделить всё

$pbkdf2-sha256$260000$YWxHQjFoMkJSSHduODNuejlmU0ozVg$qippfbL8g59KPoDh.cIEh70TQCjuWeH8017VcLLpDIY
Полученный хэш пароля выглядит одинаково, за исключением незначительных различий.
В pbkdf2-sha256 вместо подчеркивания используется тире, но Это не проблема. Я могу это исправить.
Основная проблема в том, что я получаю . вместо + в фактической части хеша. Как это исправить? Могу ли я слепо заменить все . на + ?
Я тоже не понимаю, почему вычисленная соль отличается от исходной соли?

Подробнее здесь: https://stackoverflow.com/questions/739 ... f2-library
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»