企业网站功能嘉兴提高网站排名
2026/2/21 14:15:59 网站建设 项目流程
企业网站功能,嘉兴提高网站排名,重庆自助模板建站,哪儿可以学电商​​​​​1、MD5 简介 MD5#xff08;Message-Digest Algorithm 5#xff09;是一种被广泛使用的消息摘要算法#xff0c;也称为哈希算法、散列算法或杂凑算法#xff0c;可以产生出一个定长的 128 位#xff08;16 字节#xff09;的散列值#xff08;Hash ValueMessage-Digest Algorithm 5是一种被广泛使用的消息摘要算法也称为哈希算法、散列算法或杂凑算法可以产生出一个定长的 128 位16 字节的散列值Hash Value一般用于数字签名以确保信息传输完整性与密码的加密存储。MD5 由美国密码学家罗纳德·李维斯特Ronald Linn Rivest设计于 1992 年公开用以取代 MD4 算法。2、MD5 应用场景一个安全的散列算法需要满足如下两个条件也是散列算法的两个特性。1抗碰撞性。根据一个输入找到一个其它输入得到相同的输出在计算上是不可行的2不可逆性。根据一个输出找到一个输入其散列值等于输出在计算上是不可行的即不可能从结果逆向推导初始值。注意抗碰撞性并不是说散列算法无碰撞无碰撞的算法不可能是一个散列算法而只能是一个无损压缩算法因为散列算法在计算过程中必然会丢失原文部分信息。MD5 作为一个应用广泛散列算法满足上述两个特点。根据第一个特点MD5 可用于信息的数字签名用来验证信息传输的完整性和发送者的身份认证。根据第二个特点MD5 可用于用户密码的散列存储。1信息的数字签名。对重要信息进行 MD5 计算生成散列值作为信息的数字签名用于确定信息在传输过程中是否被篡改以及发送者的身份认证。2用户密码的散列存储。常见用途就是网站敏感信息加密比如用户名密码。将用户密码进行散列计算后落地存储即使被拖库用户的密码仍是安全的因为MD5算法的不可逆性决定无法通过散列值逆向推算出密码。当然密码破解有很多方法比如暴力破解、彩虹表等还是有可能从正向破解密码散列值的。3、MD5 生成的 Hash 值为何不可逆MD5 是一个“信息有损压缩”过程里面有很多不可逆的运算会丢失绝大部分原始信息导致从结果反推原文所以不可逆。比如移位假设 10010001 左移两位后是 01000100你没有什么办法把它移回来。一个简单的类比数字“求和取个位”。假设我们设计一个运算输入两个数字比如 123 和 456然后输出它们相加后的个位数。过程123 456 579 → 取个位数 9问题现在我只给你结果 9请你告诉我原始的输入是什么你会发现有无数种可能(123, 456)、(100, 809)、(1, 8)、(999, 10)...所有这些数字对相加后的个位数都是 9。这个“求和取个位”的过程就是一个简单的、不可逆的哈希函数。 MD5 的原理与此类似但远比这个复杂。4、王小云院士真地破解了 MD5 吗在 2004 年王小云院士与其他研究人员合作发表了一篇名为《Collisions for Hash Functions》的论文展示了如何通过碰撞攻击生成具有相同 MD5 哈希值的两个不同输入。所谓的“破解”其实误导了很多人并不是说扔给王小云一个 MD5 散列值然后她马上就能算出一个原文来。从密文推算出明文理论上是不可能的所以王小云的研究成果并不能通过 MD5 的散列值逆向推算出明文。即给定 Hash 值王小云不能逆向计算出 M。MD5(M)Hash其中 M 指密码的明文Hash 表示密码散列后的密文。实际上王小云的研究成果如下MD5(M1)MD5(M2)即给定消息 M1能够计算获取 M2使得 M2 产生的散列值与 M1 产生的散列值相同。如此MD5 的抗碰撞性就已经不满足了使得 MD5 不再是安全的散列算法。这样一来MD5 用于数字签名将存在严重问题因为可以篡改原始消息而生成相同的 Hash 值。这里简单地用王教授的碰撞法给大家举个简单的例子。假如用户 A 给 B 写了个 Email 内容为 Hello然后通过王教授的碰撞法可能得到 Fuck 这个字符串的摘要信息和 Hello 这个字符串产生的摘要信息是一样的。如果 B 收到的 Email 内容为 Fuck经过 MD5 计算后的B 也将认为 Email 并没有被修改但事实并非如此。王小云院士的研究报告表明MD4MD5HAVAL-128 和 RIPEMD 均已被证实存在上面的漏洞即给定消息 M1能够找到不同消息 M2 产生相同的散列值即产生 Hash 碰撞。后来在 2005 年王小云同其他研究人员又发布了一篇论文《Finding Collisions in the Full SHA-1》理论上证明了 SHA-1 也同样存在碰撞的漏洞。随着时间的推移计算机计算能力不断增强和攻击技术的不断进步SHA-1算法的安全性逐渐受到威胁。在2017年Google研究人员宣布成功生成了第一个实际的SHA-1碰撞这意味着攻击者可以通过特定的方法找到两个不同的输入但它们具有相同的SHA-1哈希值。5、结论虽然 MD5、SHA1 已经被证实在数字签名存在安全问题但是 MD5、SHA1 在密码的散列存储方面还是很安全的算法只要密码足够复杂加盐且迭代次数足够多抗得住主流的口令破解方法如暴力破解、彩虹表、字典攻击、词表重整攻击、概率上下文无关文法等。6、参考文献Collisions for Hash FunctionsFinding Collisions in the Full SHA-1关于王小云破解MD5之我见关于HASH和MD5王小云教授的“解密”吕吕.基于DCR系统的多功能口令恢复平台[D].华南理工大学转自https://dablelv.blog.csdn.net/article/details/87938911

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询