Функция generate_password_hash
Функция generate_password_hash применяется для
преобразования пароля в хеш. Первым параметром
передаётся пароль в виде строки. Вторым необязательным
параметром передаётся метод хеширования method,
например 'pbkdf2:sha256'. Третьим параметром
передаётся длина соли salt_length, по умолчанию
равная 16. Функция возвращает строку с хешем, которую
можно сохранить в базе данных.
Синтаксис
generate_password_hash(password, [method], [salt_length])
Пример
Давайте получим хеш для пароля 'abcde':
from werkzeug.security import generate_password_hash
res = generate_password_hash('abcde')
print(res)
Результат выполнения кода:
"pbkdf2:sha256:600000$Xy7z..."
Пример
Давайте явно укажем метод хеширования 'pbkdf2:sha256'
и длину соли:
from werkzeug.security import generate_password_hash
res = generate_password_hash('abcde', method='pbkdf2:sha256', salt_length=16)
print(res)
Результат выполнения кода:
"pbkdf2:sha256:600000$Xy7z..."
Пример
Давайте сохраним хеш пароля пользователя в сессии Flask-приложения:
from flask import Flask, session
from werkzeug.security import generate_password_hash
app = Flask(__name__)
app.secret_key = 'secret'
@app.route('/register')
def register():
session['password'] = generate_password_hash('abcde')
return 'user registered'
Результат выполнения кода для адреса /register:
user registered
Смотрите также
-
функцию
check_password_hash,
которая проверяет пароль по хешу -
функцию
login_user,
которая выполняет вход пользователя -
класс
UserMixin,
который добавляет методы пользователя -
параметр
method,
который задаёт метод хеширования