pc软件 文章资讯 手机软件

您当前的位置→图文中心安全防范MD5算法的安全性
阅读排行

MD5算法的安全性


2012/12/28  编辑:admin 来源:本站整理

这次“泄密门事件”对用户影响最大的恐怕是明文保存密码的CSDN和天涯社区, 如果当初他们使用散列算法将密码进行处理, 就不会有这么大的影响, 而对于散列算法, 就不得不说一下MD5这个算法。

  散列算法(Hash Function)中, 最为常用的是MD5(Message-Digest Algorithm 5)算法, MD5是一个较为古老的算法, 一度被广泛应用于安全领域。 比如在UNIX系统中用户的密码就是以MD5(或其它类似的算法)经加密后存储在文件系统中。 当用户登录的时候, 系统把用户输入的密码计算成MD5值, 然后再去和保存在文件系统中的MD5值进行比较, 进而确定输入的密码是否正确。

  通过这样的步骤, 系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。 这不但可以避免用户的密码被具有系统管理员权限的用户知道, 而且还在一定程度上增加了密码被破解的难度。 `

  不过, 由于MD5的弱点被不断发现以及计算机能力不断的提升, 通过碰撞的方法有可能构造两个具有相同MD5的信息, 使MD5算法在目前的安全环境下有一点落伍。 从实践角度, 不同信息具有相同MD5的可能性还是非常低的, 通常认为是不可能的, 通过碰撞的方法也很难碰撞出复杂信息的MD5数值。

  因此, MD5算法还是被广泛的用作检验文件是否变化的散列函数, 很多类似迅雷、旋风这样的下载工具, 都可以通过MD5来验证, 用户下载下来的文件是否被修改。

MD5算法的安全性MD5的安全性

  在用户密码的处理方面, MD5总的来看还算是安全的, 至少比明文保存密码要好的多, 目前破解MD5主要依靠大型字典的方法, 将常用密码进行MD5后建立数据库, 然后和MD5数值进行对比, 通过这样的方法来“破解”MD5, 因此, 通常直接将密码进行MD5处理的话, 一些弱密码很容易可以通过这种手段“破解”出来。

  不过, 如果在散列的过程中, 加入足够长的salt(即干扰字符串), 并且salt加入一些动态信息, 例如username、随机码等, 这样生成的MD5还是很难被破解的, 因为仅仅从数据库无法看到MD5具体的处理过程, 必须同时看到处理时的源代码才可以, 这就给破解MD5带来相当大的难度。

  还有一个方法, 既然简单密码的MD5是不安全的, 网站的开发者只需要一个简单的技巧就能提高密码的安全度:在用户注册的时候, 录入新密码后进行判断, 强制密码必须8位以上, 并包含字母和数字, 否则不让注册, 这样用户注册后使用的密码就都是不容易被破解的密码了。

  如果需要更安全的算法, 建议不用MD5, 而使用SHA-256, SHA(Secure Hash Algorithm, 安全散列算法)是美国国家安全局(NSA)设计, 美国国家标准与技术研究院(NIST)发布的一系列密码散列函数。 目前还没有出现针对SHA-256算法的有效碰撞攻击方法, 该算法也是开源算法, 在很多地方可以找到, 是MD5的一个不错的后继者。 → md5加密解密 1.0 绿色中文版

相关文章

AMD Ryzen处理器有哪些?AMD Ryzen有没有核显?:  由于AMDRyzen处理器采用全新的命名形式,以至于很多人对于AMDRyzen处理器有哪些型号,是否配备散热器、核心显卡等信息不太了解,下面电脑百事网带大家全面了解下。

AMD RX580/570/550配置怎么样: RadeonRX580:4GB/8GB=$199/$249  目前传言RX580依然是2304颗流处理器,144个纹理单元,32个光栅单元,不过频率提高到1340MHz,几乎比480多了20%。

笔记本AMD双显卡怎么正确交火 如何设置:  主要针对大多数DX10和DX11游戏无法在默认模式下交火的AMD双显卡笔记本电脑,简单来说就是笔记本要想交火必须使用专门的交火配置文件  1、打开AMD显卡驱动配置界面  2、选择视图模式,启用系统托盘菜单  3、开启笔记本双卡交火  ...。

发表评论
网站帮助 - 广告合作 - 下载声明 - 网站地图