首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

深入浅出彩虹表原理

一言以蔽之,彩虹表是一种破解用户密码的辅助工具。彩虹表以时空折中理论为基础,但并不是简单地“以空间换时间”,而是一种“双向交易”,在二者之间达到平衡。1980年,公钥密码学的提出者之一Hellman针对DES算法(一种对称加密算法)提出了一种时空折中算法,即彩虹表的前身:预先计算的散列链集。2003年瑞典的Philippe Oechslin在其论文Making a Faster Cryptanalytic Time-Memory Trade-Off(参考博客2)中对Hellman的算法进行了改进,并命名为彩虹表。当时是针对Windows Xp开机认证的LM散列算法。当然,目前除了破解开机密码,彩虹表目前还能用于SHA、MD4、MD5等散列算法的破译,速度快、破解率高,正如Philippe在论文中提到的:“1.4G的彩虹表可以在13.6s内破解99.9%的数字字母混合型的Windows密码“。实际上,Philippe所做的改进本质上是减少了散列链集中可能存在的重复链,从而使空间的有效利用率更高,关于这一点,后面会详述。

04

干货 | 如果信息泄露不可避免,我们该如何保护用户密码?

作者简介 张辉,就职于携程技术中心信息安全部,负责安全产品的设计与研发。 作为互联网公司的信息安全从业人员经常要处理撞库扫号事件,产生撞库扫号的根本原因是一些企业发生了信息泄露事件,且这些泄露数据未加密或者加密方式比较弱,导致黑客可以还原出原始的用户密码。目前已经曝光的信息泄露事件至少上百起,其中包括多家一线互联网公司,泄露总数据超过10亿条。 要完全防止信息泄露是非常困难的事情,除了防止黑客外,还要防止内部人员泄密。但如果采用合适的算法去加密用户密码,即使信息泄露出去,黑客也无法还原出原始的密码(或者还原

07

运维开发必备技能!陪你分阶段巩固复习前端知识,攻破前端技能防线。

写在开篇先探讨一个问题:运维开发工程师是什么?所谓的运维、所谓的开发,到底怎么理解?到底是运维还是开发?笔者是不是可以这样去理解:只要开发跟运维领域相关的脚本、工具、产品,那么也都可以说是运维开发?假设这个理解是成立的,那么运维开发工程师平时只写一些零零散散的脚本,那算得上是运维开发工程师不?笔者认为算不上,顶多就是运维工程师,运维工程师对脚本(python、shell)的开发能力是必备的。那么运维开发工程师所需要掌握的技能要求是什么?笔者认为,应该具备打造运维工具、产品的能力,也就是全栈:运维技能+全栈开

01
领券