flask项目1实战:2.4 用户密码处理(待完善)

本文介绍了用户密码处理的重要性,包括密码加密的背景和常见的加密算法如MD5和SHA。在Flask项目中,使用werkzeug库的generate_password_hash和check_password_hash方法进行了密码加密和校验的实现。文章详细讲解了如何在User类中添加加密方法,并通过装饰器进行优化。
摘要由CSDN通过智能技术生成

在这里插入图片描述

(根据居然老师直播课内容整理)

一、密码加密介绍

  • 用户密码不能明文存放到数据库,需要加密处理后密文保存
  • 如果密码明文存放数据库,一旦数据库被攻破,不仅拿走用户信息,用户密码也就直接暴露了
  • 如果密码密文存放数据库,一旦数据库被攻破,虽然也拿走用户信息,不能直接知道用户密码,不需要花费一定时间去破解密码,才能登录上用户的帐号
  • 以前用的较多的是MD5,不可逆的加密算法。MD5加密有个特点:密码加密之后密文就固定了,如果有人把常用密码的MD5加密密文都保存到数据库,就相当于密码是相对公开的了,所以MD5加密不是被破解了,是被变相的破解了。
  • 现在一般不直接用MD5加密,采用MD5+ salt(盐),相当于MD5+随机字符串,提高破解难度,也不特别安全
  • 现在一般用 sha1 sha256,相当于把MD5 和 盐都保存起来了,更难被破解
  • 密码加密算法一般都写在 user模型里面

二、密码加密实现

  • 这里采用flask提供的密码加密算法 werkzeug.security.generate_password_hash 和check_password_hash

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值