彻底搞懂彩虹表的实现原理

为什么要写这篇文章

鉴于今天摸索了一上午,终于搞清楚了彩虹表的实现原理,特此记录,以备后查。

什么是彩虹表

7788的术语我就不多说了,简而言之,就是一种破解md5或者sha1这种哈希散列算法的一种办法。

彩虹表的实现原理

在说彩虹表之前,先说说已经存在的几种破解类似md5这种哈希散列算法方法

方法一:暴力破解

我们假设有一个明文123456通过md5加密后得到密文 E10ADC3949BA59ABBE56E057F20F883E,那么我们有了这段密文如何反推他的明文呢?我们假设我们知道他的明文是一个6位数的明文,暴力破解就是不停的算,先用111111进行md5看看得到多少,然后和密文比,发现不一样,然后用111112进行md5再和密文比,还是不一样,就这样一直循环,直到找到一个数n的密文也是 E10ADC3949BA59ABBE56E057F20F883E,那么就说明他的明文可能就是n.为什么说是可能呢?因为对于不同的数进行md5运算后可能会得到同样的密文。很明显这种方式的效率是十分低下的,每一个数我们都要进行一次md5运算然后再把结果和密文进行对比,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值