Параметр salt_length
Параметр salt_length задаёт длину соли,
которая примешивается к паролю при вычислении
хеша. Соль - это случайная строка, которая
добавляется к паролю перед хешированием. Благодаря
соли два одинаковых пароля дают разные хеши,
что защищает от атак по радужным таблицам.
Параметр передаётся в функцию generate_password_hash
и по умолчанию равен 16. Чем больше длина
соли, тем длиннее получается итоговый хеш.
Синтаксис
generate_password_hash(password, method, salt_length)
Пример
Давайте сгенерируем хеш пароля с длиной соли по умолчанию:
from werkzeug.security import generate_password_hash
hash = generate_password_hash('abcde')
print(hash)
Результат выполнения кода:
"scrypt:32768:8:1$..."
Пример
Давайте увеличим длину соли до 32:
from werkzeug.security import generate_password_hash
hash = generate_password_hash('abcde', salt_length=32)
print(hash)
Чем больше длина соли, тем длиннее будет хеш и тем сложнее его подобрать.
Пример
Давайте проверим, что хеш, созданный с солью, успешно проходит проверку:
from werkzeug.security import generate_password_hash, check_password_hash
hash = generate_password_hash('abcde', salt_length=16)
res = check_password_hash(hash, 'abcde')
print(res)
Результат выполнения кода:
True
Смотрите также
-
функцию
generate_password_hash,
которая создаёт хеш пароля -
функцию
check_password_hash,
которая сверяет пароль с хешем -
параметр
method,
который задаёт алгоритм хеширования -
класс
Auth,
который управляет аутентификацией в приложении