【Flask】Flask实现密码存储安全性的两种方式

密码存储安全性


互联网上的大多用户都会在不同的网站使用相同的密码,如果某个网站把密码以明文方式存储在数据库里,又不幸地被攻击者获取了数据库的访问权限,那后果不堪设想(比如号称中国最大IT社区的某DN脱裤门事件,搞得我要单独记一个密码)

要想保护用户的密码,就不能明文存储密码,也不能用可从密文恢复原文的加密方式。那就要使用哈希算法的单向加密方法对密码进行加密。单向加密意味着数据被加密之后,就不可能通过密文反向计算原文。但是哈希算法只是生成数据的摘要,所以相同的数据会生成相同的密文,版本控制工具Git就是通过SHA-1对文件生成快照来进行内容变化追踪

我们可以把密码的哈希值存储起来,然后在用户登录的时候,使用相同的哈希算法对输入的密码进行计算,并比较计算出的哈希值与存储在数据库中的哈希值是否相同。这样就算攻击者获得了数据库的访问权限,他们也得不到用户的原密码,不过可能会有其他隐私的泄露问题,这个只能靠相关网站的良心了,大家注意不要把自己的隐私存储在网站上,永远记得不要相信互联网(的安全性)

哈希算法有很多种,但是大多数不安全,常用的比如MD5和SHA1。现在MD5已经不推荐使用了,随便在网上搜一下就有各种“MD5在线破解”,如果还有网站用MD5加密,那这个网站已经没人管了,死翘翘了。SHA1虽然被Google破解了,但是一般人还是别想了,所以SHA-1已经可以满足需求了

给一个2017年2月23日Google发表的一篇破解SHA-1的论文给出的数据

  • md5:只需要一个智能手机30秒就破解了
  • sha-1 shattered:110GPU 需要一年
  • sha-1
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值