flaskweb开发中密码加密处理

来源:互联网 发布:手机淘宝会员名能改吗 编辑:程序博客网 时间:2024/05/29 16:17

在flaskweb开发中用户用户注册中密码加密:

一、flask框架项目搭建的基础上扩展

二、在之前项目中的模板视图中直接引入

from werkzeug.security import generate_password_hash, check_password_hash

from exts import dbimport datetimefrom werkzeug.security import generate_password_hash, check_password_hashclass User(db.Model):    __tablename__ = 'user'    id = db.Column(db.Integer, primary_key=True, autoincrement=True)    name = db.Column(db.String(100), nullable=False)    _password = db.Column(db.String(100), nullable=False)    createtime = db.Column(db.DateTime, default=datetime.datetime.now())    def __init__(self, name, password):        self.name = name        self.password = password    @property    def password(self):        return self._password    # 定义一个赋值的方法    @password.setter    def password(self, rawpwd):        self._password = generate_password_hash(rawpwd)    #定义一个验证密码的方法    def check_password(self, rawpwd):        return check_password_hash(self.password, rawpwd)

三、重新运行python manage.py db migratepython manage.py db upgrade命令

四、重新注册查看数据库中密码是不是加密处理了

五、登录的时候验证密码是否正确

...省去result = db.session.query(User).filter(User.name == name1).first()            if result and result.check_password(password1):            ...省去

六、如果要做用户登录拦截就可以直接参考decorator装饰器的使用

1 0
原创粉丝点击