sha、md5、decupt与加盐结合

本文探讨了密码安全的不同策略,包括MD5、SHA等哈希算法的局限性,提出了使用随机盐和bcrypt来增强密码安全性的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天面试时提到了如何保证密码安全,我说了md5、sha。但面试官还是不太满意。因为有这几点原因:

  • 由于MD5历史悠久,大量彩虹表的出现已经使得单纯的MD5运算已经比较容易被破解。
  • sha与md5结合,也只是将上述步骤稍微复杂了一点,因为破解这种密码的成本会越来越低,计算出来的结果也会很有价值。
  • 在被拖库后,salt也会被拿到,使用彩虹表加salt可以制作新的彩虹表。
  • md5本身问题。山大王小云教授已经证明md5是可能被碰撞的。
    当然,以上述方式破解密码的工作量是非常庞大的,这样做是否有价值也先不讨论,我们只讨论理论上的可能性。

加随机盐

这也是初学者比较容易遇到的问题,认为给密码加上一个固定字符串,就可以避免彩虹表的攻击。但是这样的话,黑客只要基于这个规则MD5(password+string)运算一次,就可以得到一个密码库,来破解所有用户的密码。
但是,如果给每一个用户加不同的str后缀,也就是加随机盐,黑客在破解的时候,就要为每一个用户创建一个密码库,这样在他破解一个用户密码后,得到的密码库无法继续使用。极大地增加了破解成本。
当然,如果黑客得到了你的库,这个方法就没什么意义了。

bcrypt加随机盐

这个方式比上一个优势更大的地方在于,黑客即使得到了你的salt盐库,自己制作密码库的时间将无限增加,因为bcrypt可以控制每秒只计算出三个密码。

另外,初始密码在客户端肯定会经过一层md5加密,建议更改为sha-2加密。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值