python--Flask学习(七)--利用Flask中的werkzeug.security模块加密

若将密码以明文的方式保存在数据库中是不安全的,可以使用一些如MD5的方式加密,但像这种加密方式也是存在安全隐患的,这里我们来学习一下利用Flask中的werkzeug.security模块加密
1、这种加密方式的原理:加密时混入一段“随机”字符串(盐值)再进行哈希加密。即使
密码相同,如果盐值不同,那么哈希值也是不一样的。现在网站开发中主要是运
用这种加密方法。
2、这个模块主要是用到了两个函数:

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

3、密码生成函数:generate_password_hash
(1)函数定义

werkzeug.security.generate_password_hash(password, method='pbkdf2:sha1', salt_length=8)

参数说明:

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

-slat_length: 盐值的长度,默认为8。
(2)密码生成示例:

from werkzeug.security import  generate_password_hash,check_password_hash
print (generate_password_hash('123456'))
print (generate_password_hash('123456'))

输出:

pbkdf2:sha1:1000$0yy56h3w$ae1030bd575e95a1b7066120d6b23
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值