美文网首页Flask
Flask Web开发密码加盐

Flask Web开发密码加盐

作者: 梦醒家先生 | 来源:发表于2018-06-23 17:49 被阅读0次

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

MVC框架模式:
  • model模型(定义模型-->属性的计算/模型-->封装到模型类中),
  • view(模板-->html,css,js)
  • control(控制-->将模型显示到视图中-->路由)
    在开发中,对模型的处理一般都要放到模板中处理,不要在视图函数中进行相关属性的计算

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

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

class User(BaseModel, db.Model):
    """用户"""
    __tablename__ = "info_user"

    id = db.Column(db.Integer, primary_key=True)  # 用户编号
    nick_name = db.Column(db.String(32), unique=True, nullable=False)  # 用户昵称
    password_hash = db.Column(db.String(128), nullable=False)  # 加密的密码
    mobile = db.Column(db.String(11), unique=True, nullable=False)  # 手机号
    avatar_url = db.Column(db.String(256))  # 用户头像路径
    last_login = db.Column(db.DateTime, default=datetime.now)  # 最后一次登录时间
    is_admin = db.Column(db.Boolean, default=False)
    signature = db.Column(db.String(512))  # 用户签名
    gender = db.Column(  # 订单的状态
        db.Enum(
            "MAN",  # 男
            "WOMAN"  # 女
        ),
        default="MAN")
    # property:将装饰器的方法提升为类属性--->默认为getter方法--->解耦
    @property
    def password(self):
        raise AttributeError("当前属性不可读")

    # 定义一个赋值的方法
    @password.setter
    def password(self, value):
        self.password_hash = generate_password_hash(value)

    # 定义一个验证密码的方法
    def check_password(self, password):
        return check_password_hash(self.password_hash, password)
  • 密码加密函数定义:
    generate_password_hash是一个密码加盐哈希函数,生成的哈希值可通过
    check_password_hash()进行验证。
函数的定义(源码).png
  • 哈希之后的哈希字符串格式是这样的:
method$salt$hash
  • 参数说明:
    password: 明文密码
    method: 哈希的方式(需要是hashlib库支持的),格式为
    pbpdf2:<method>[:iterations]。参数说明:
          method:哈希的方式,一般为SHA1,
          iterations:(可选参数)迭代次数,默认为1000。
    slat_length: 盐值的长度,默认为8。


    flask密码加密验证.png

相关文章

  • Flask Web开发密码加盐

    一、flask框架项目搭建的基础上扩展 MVC框架模式: model模型(定义模型-->属性的计算/模型-->封装...

  • Flask初探一(Flask 各参数的应用)

    Flask简介 Flask是什么 Flask 是一个 Python 实现的 Web 开发微框架,轻量级Web 开发...

  • python flask安装和命令

    Flask Web开发实战学习笔记 Flask简介 Flask是使用Python编写的Web微框架。Web框架可以...

  • Flask web开发

    注:采转归档,自己学习查询使用 Flask web开发(1):安装Flask web开发(2):程序的基本结构Fl...

  • 分享Flask电子书PDF及代码+资料

    分享flask+最新高清经典资料 Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PD...

  • Flaks 开发案例

    flask 是一个基于python的基础web应用开发框架。利用flask可以快速的开发web应用,便携易上手。 ...

  • Flask Web表单验证

    Flask Web表单验证 一、开发准备: 1、安装Flask-WTF扩展: pip install flask-...

  • Flask

    Flask介绍 Flask是一个轻量级的web开发框架, 使用Python开发, 上手简单 安装Flask pip...

  • Flask 轻博客

    取自实验楼实验Flask开发轻博客 作为Flask入门系列感觉不错,最近在学习《 Flask Web 开发 》,与...

  • Flask 基本流程

    Flask 基本流程 一、Flask简介 Flask是一个基于Python实现的web开发'微'框架。 Flask...

网友评论

    本文标题:Flask Web开发密码加盐

    本文链接:https://www.haomeiwen.com/subject/cshdyftx.html