彩虹表就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合,不一定是针对MD5算法的,各种算法的都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上。
简单的说就是针对特定算法,尤其是不对称算法进行有效破解的一种方法(如 md5算法)。他的过程 就是建立一个 源数据与加密数据之间对应的hash表。这样在获得加密数据后 通过比较,查询或者一定的运算,可以快速定位源数据。理论上,如果不考虑查询所需要的时间的话,hash 表越大,破解也就越有效越迅速。当然对于其它破解方法(如碰撞)此方法比较笨拙,对于可变长密钥等现代高级算法,效果会大打折扣。但是无论怎样, 彩虹表(hash)永远是在数据加解密中是无奈但十分有效的方法。
1