MD5加密算法中的加盐值 ,和彩虹表攻击 防止彩虹表撞库

本文介绍了彩虹表攻击以及如何通过加盐值来防止此类攻击。加盐值是动态生成的,可以有效避免同一密码在不同系统中产生相同散列值,增加密码安全性。在用户注册和登录过程中,系统会存储盐值和加盐后的散列值,通过比较用户输入密码加盐后的散列值与数据库中的散列值来验证密码。同时,对比了MD5和AES两种加密算法的特点,强调了对加密算法的破解难度和策略。

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

一、什么是彩虹表?

彩虹表(Rainbow Tables)就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合,不一定是针对MD5算法的,各种算法的都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上。

二、上哪找彩虹表去?

现在有很多大牛已经把自己的彩虹表共享出来了,所以你可以去下载。还有一种方法就是自己通过工具生成。

不过自己生成有点不切合实际,生成小的彩虹表吧数据少,可以破解密码的位数少(复杂程度低),而且费时费力,4核4GB内存的机器,生成2GB彩虹表,需要花费7天时间,而7天按1MB的带宽(160K/S左右)几乎可以下载30GB左右。

生成的工具可以用RainbowCrack也可以用Cain。网上很容易搜索到下载地址的。

 

加盐值可以抵抗彩虹表攻击 ,最好每次使用的盐值要动态生成.

 

我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码。

  加Salt可以一定程度上解决这一问题。所谓加Salt方法,就是加点“佐料”。其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列。而当用户登录时,系统为用户提供的代码撒上同样的“佐料”&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值