利用Flask中的werkzeug.security模块加密

1、这种加密方式的原理:加密时混入一段“随机”字符串(盐值)再进行哈希加密。即使
密码相同,如果盐值不同,那么哈希值也是不一样的。现在网站开发中主要是运
用这种加密方法。
2、这个模块主要是用到了两个函数:

密码生成函数:generate_password_hash;
密码验证函数:check_password_hash;

3、密码生成函数:generate_password_hash
函数定义
werkzeug.security.generate_password_hash(password, method=‘pbkdf2:sha1‘, salt_length=8)
参数说明:

password: 明文密码;
method:哈希加密的方法(需要hashlib库支持的),格式为pdpdf2:[:iterations];
method:哈希的方式,一般为SHA1;
iterations:(可选参数)迭代次数,默认为1000;
-slat_length: 盐值的长度,默认为8。

4、码验证函数:check_password_hash
函数定义
werkzeug.security.check_password_hash(pwhash, password)
参数说明:

pwhash:generate_password_hash生成的哈希字符串(即加密后的密码);
password:需要验证的明文密码;
check_password_hash函数用于验证经过generate_password_hash哈希的密码,若密码匹配,则返回真,否则返回假。

原文地址:https://www.cnblogs.com/vinic-xxm/p/12066950.html

时间: 2024-07-31 06:47:06

利用Flask中的werkzeug.security模块加密的相关文章

flask 中的 werkzeug Local,LocalStack 和 LocalProxy 技术应用

什么是 Local wsgi 每次请求,会把过程进行抽离无状态话,过程数据存储在本次请求的全局变量中,使用到了Local. Local 作为每次请求的全局命令空间,属于每次请求的私有 LocalStack 与 Local 相似,在 Local 基础之上使用堆栈方式进行操作,管理 LocalProxy 代理类,代理 Local 或 LocalStack 实例 为什么使用 Local 为什么使用自定义 Local,而不是 threading.local.这是由内核决定的 1. web 应用在启动之后

Flask最强攻略 - 跟DragonFire学Flask - 第九篇 Flask 中的蓝图(BluePrint)

蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? 比如说,你有一个客户管理系统,最开始的时候,只有一个查看客户列表的功能,后来你又加入了一个添加客户的功能(add_user)模块, 然后又加入了一个删除客户的功能(del_user)模块,然后又加入了一个修改客户的功能(up_user)模块,在这个系统中,就可以将 查看客户,修改客户,添加客户,删除客户的四个功能做成蓝图加入到客户管理系统中,本篇最后会做

Flask初识,第九篇,Flask中的蓝图

蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? 比如说,你有一个客户管理系统,最开始的时候,只有一个查看客户列表的功能,后来你又加入了一个添加客户的功能(add_user)模块, 然后又加入了一个删除客户的功能(del_user)模块,然后又加入了一个修改客户的功能(up_user)模块,在这个系统中,就可以将 查看客户,修改客户,添加客户,删除客户的四个功能做成蓝图加入到客户管理系统中,本篇最后会做

Flask中的蓝图(BluePrint)、

蓝图 1.初识Flask蓝图(BluePrint) 创建一个项目然后将目录结构做成: user.py中的内容 from flask import Blueprint, render_template # 导入Flask中的蓝图BluePrint模块 # 实例化一个蓝图对象 users_blue = Blueprint('users', __name__, template_folder='user_temp', url_prefix='/user') # 这里添加路由和视图函数的时候与在Flas

Flask中的蓝图

一.前言 蓝图,听起来高大上的一匹,在Flask中的蓝图 blueprint 也是一个非常高大上的东西,它的作用就是将功能与主服务分开 比如说,你有一个客户管理系统,最开始的时候,只有一个查看客户列表的功能,后来你又加入了一个添加客户的功能(add_user)模块, 然后又加入了一个删除客户的功能(del_user)模块,然后又加入了一个修改客户的功能(up_user)模块,在这个系统中,就可以将:查看客户,修改客户,添加客户,删除客户的四个功能做成蓝图加入到客户管理系统中,本篇最后会做一个这样

Flask 中的蓝图(BluePrint)

目录 1.Flask蓝图概述 2.一个简单的蓝图实现 2.1 实例一: 2.2 实例二: 3.蓝图实现学生信息的增删改查 3.1学生信息查看: 3.2学生信息更新: 3.3学生信息增加: 3.4管理学生信息的主服务器: 3.5管理学生信息的web视图: 1.Flask蓝图概述 作用就是将功能与主服务分开,蓝图没有run方法 比如说,你有一个客户管理系统,最开始的时候,只有一个查看客户列表的功能,后来你又加入了一个添加客户的功能(add_user)模块, 然后又加入了一个删除客户的功能(del_u

flask中的endpoint、自定义转化器、与djnago中session区别、利用装饰器实现登录认证

flask路由中的endpoint 与自定义转化器 ''' endpoint主要用于 反向解析, 例如:login函数中配的路由是/login,其中endpoint='lg' 则在其他函数,可以用 url=url_for('lg'),redirect(url)直接访问login函数 ''' ''' 自定义转化器,可以用来动态更新url_for 的跳转路由 其中 to_python主要是给后端的,可以对路由参数做修改 to_url是给前端url的,可以更新指定的url ''' flask与djan

Flask中如何实现用户登陆认证?

本文和大家分享的主要是使用Flask实现用户登陆认证的相关知识,希望对大家学习Flask有所帮助. 用户认证的原理 在了解使用Flask来实现用户认证之前,我们首先要明白用户认证的原理.假设现在我们要自己去实现用户认证,需要做哪些事情呢? 1. 首先,用户要能够输入用户名和密码,所以需要网页和表单,用以实现用户输入和提交的过程. 2. 用户提交了用户名和密码,我们就需要比对用户名,密码是否正确,而要想比对,首先我们的系统中就要有存储用户名,密码的地方,大多数后台系统会通过数据库来存储,但是实际上

flask中使用验证码

图片检验码, web框架用的是layui 安装 pip install pillow views.py 生成验证码 from flask import render_template, request, redirect, url_for, session, make_response from PIL import Image, ImageFont, ImageDraw, ImageFilter from io import BytesIO def validate_picture(width