Flask-----Flask里引用哈希密码
哈希密码(Password Hash):
# 导包 from werkzeug.security import generate_password_hash,check_password_hash
其中: generate_password_hash 是生成密码 ; check_password_hash 是密码验证
2. 注册账号的时候用到 generate_password_hash
@admin_blue.route('add_user')
defadd_user(): # Adminuser是数据库中一张表的名字 , user:注册的账号 pass_hash: 注册的密码,此时注册的密码的是 123
add_user=Adminuser(user='admin',pass_hash=generate_password_hash('123'))
db.session.add(add_user)
return'OK'
此时我们注册的密码是“123”,当我们用到 generate_password_hash 将“123”加密的时候,数据库里面就变成:
3. 我们既然已经完成了注册,就轮到登录,当我们登录的时候,在输入密码的时候,就需要用到 check_password_hash来解密,进而来验证密码
# 登录
@admin_blue.route('/login',methods=['get','post'])
def login():
if request.method=='POST':
username=request.form.get('username')
password=request.form.get('password')
if not all([username,password]):
flash('请输入账号和密码')
else:
sqluser=Adminuser.query.filter(Adminuser.user==username).first()
if not sqluser:
flash('账号不正确')
else:
a=check_password_hash(sqluser.pass_hash,password)
print(a)
if a:
session['admin_username']=username
return redirect(url_for('admin.index'))
else:
flash('密码不正确')
return render_template('admin/login.html')

总之重点就在于: generate_password_hash 是生成密码 ; check_password_hash 是密码验证,其他的代码就是Flask中最简单的注册、登录。
Flask-----Flask里引用哈希密码的更多相关文章
- python三大web框架Django,Flask,Flask,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架
Python几种主流框架 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python We ...
- Inside Flask - flask.__init__.py 和核心组件
Inside Flask - flask.__init__.py 和核心组件 简单的示例 首先看看一个简单的示例.使用 Flask ,通常是从 flask 模块导入 Flask . request 等 ...
- Inside Flask - Flask 简介
Inside Flask - Flask 简介 前言 Flask 的设计目标是实现一个 wsgi 的微框架,其核心代码保持简单和可扩展性,很容易学习.对于有一定经验初学者而言,跟着例子和一些书的代码来 ...
- [python][flask] Flask 图片上传与下载例子(支持漂亮的拖拽上传)
目录 1.效果预览 2.新增逻辑概览 3.tuchuang.py 逻辑介绍 3.1 图片上传 3.2 图片合法检查 3.3 图片下载 4.__init__.py 逻辑介绍 5.upload.html ...
- Inside Flask - flask 扩展加载过程
Inside Flask - flask 扩展加载过程 flask 扩展(插件)通常是以 flask_<扩展名字> 为扩展的 python 包名,而使用时,可用 import flask. ...
- linux去掉svn里记住的用户名密码
去掉svn里记住的用户名密码 删除掉 c:\Documents and Settings\administrator\ApplicationData\Subversion\auth\svn.sim ...
- 06 hash join (Oracle里的哈希连接原理)
hash join (Oracle里的哈希连接原理) 2015年09月25日 17:00:28 阅读数:2188 哈希连接(HASH JOIN)是一种两个表在做表连接时主要依靠哈希运算来得到连接结果集 ...
- Flask - Flask的蓝图(BluePrint)
目录 Flask - Flask的蓝图(BluePrint) 一. 初始Flask蓝图 进阶Flask蓝图 使用蓝图做一个增删改查 1.使用蓝图进行web应用搭建: 2.使用Flask蓝图,查看学生信 ...
- python函数里引用全局变量
python在引用变量的时候尤其要注意变量的作用域,在函数里引用不可变类型变量的时候,函数执行结束后是不会改变全局变量的值的:若想在函数里改变不可变类型全局变量的值时,引用的时候要用”global a ...
随机推荐
- 6种纯css实现loading效果
1. <div id="loadingWrap1"> <span></span> <span></span> <s ...
- colormap中的内嵌彩色模块和调用方式
内嵌彩色模块代码: import numpy as npimport matplotlib.pyplot as plt # Have colormaps separated into categori ...
- linux php7.2安装扩展memcached
wget http://pecl.php.net/get/igbinary-2.0.8.tgz tar -xzvf igbinary-2.0.8.tgz cd igbinary-2.0.8 /usr/ ...
- ubuntu 服务restart失败
在ubuntu使用时碰到的一个问题,修改了nginx服务的配置文件后,重启服务,显示 * Restarting nginx nginx ...
- 关于Struts2中 Action 配置method的解读
为Action配置method属性: 将Action类中的每一个处理方法都定义成一个逻辑Action方法. <!DOCTYPE struts PUBLIC "-//Apache Sof ...
- Spring———bean的创建方式,注入方式,复杂类型注入 概括
Spring相关概念和类 1.IOC inverse of control 控制反转 反转了创建对象的方式 以前:new 对象,管理和维护 ...
- Python_Mix*异常处理
name 结果为: Traceback (most recent call last): #错误的追溯 File "C:/Users/Mi/PycharmProjects/untitled/ ...
- 第三方jar包导入unity
关于第三方SDK接入Unity工程方面,有许多坑,下面我把遇到的问题进行总结,希望能够帮到有需要的朋友们.1.把第三方SDK导入Eclipse遇到的问题.eclipse配置完成右键工程后没有andro ...
- python之路-格式化输出、编码
格式化输出 user = input('Username:') pwd = input('Password:') msg = 'your username:%s,your password:%d,10 ...
- js缓存问题的解决