flaskweb开发中密码加密处理

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

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

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

from werkzeug.security import generate_password_hash, check_password_hash

from exts import db
import datetime
from werkzeug.security import generate_password_hash, check_password_hash


class 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装饰器的使用

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水痕01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值