前言
用户注册的时候,密码需要加密保存,这里使用 passlib 库对密码进行hash。
环境准备
需用到passlib 库,使用pip安装
pip install passlib
passlib 库里面会用到2个方法
- encrypt() - 生成新的值,返回密码哈希
- verify() - 根据现有哈希验证密码.
User表
先设计注册表
from . import db
from passlib.hash import sha256_crypt
class Users(db.Model):
__tablename__ = 'user' # 数据库表名
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
username = db.Column(db.String(50), unique=True, nullable=False)
password = db.Column(db.String(128), nullable=False)
is_active = db.Column(db.Boolean, default=1)
email = db.Column(db.String(64), nullable=True)
def hash_password(self, password):
"""密码加密"""
self.password = sha256_crypt.encrypt(password)
def v