【MD5】什么是MD5?md5的简要描述

这篇具有很好参考价值的文章主要介绍了【MD5】什么是MD5?md5的简要描述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、MD5概述

MD5:英文全称是 Message-Digest Algorithm 5。
中文名为 消息摘要算法第五版。它是消息摘要算法,属于 Hash 算法的一种。

正常情况下,它的结果是一个 长度为 32位16进制字符串

也有一些地方会用到 16 位的 MD5的结果,它实际上是从 32位 字符串中取中间的第9位到第24位的部分,即长度是 16位。

二、MD5的主要特点

  • 不可逆,相同的数据的MD5值肯定一样,不同数据的MD5值不一样(理论上可能会有相同的,这个是学习的越深就越清楚)。

一个MD5理论上的确是可能对应无数多个原文的,因为MD5是有限多个的而原文是可以有无数多个的。比如主流使用的MD5将任意长度的字符串映射为一个128bit(16 * 8)的大整数。也就是一共有 2的128次方种可能,大概是 3.14*10的38次方,这个数字是有限的,但是世界上可以被用来加密的原文则有无数的可能性

三、MD5的性质

  1. 压缩性:任意长度的数据,算出的MD5值长度都是固定的(相当于超损压缩)。
  2. 抗修改性:对原数据进行任何改动,哪怕是只修改1个字节,所得到的MD5值都会天差地别。
  3. 容易计算:从原数据计算出MD5值很容易就可以计算出来。
  4. 弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。注意这里是非常困难,并不是一定找不到。
  5. 强抗碰撞性,想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。注意这里是非常困难,并不是一定找不到。

四、MD5破解

MD5有不可逆的特点,但是不可逆,并是代表不能破解。

某些MD5破解网站,专门用来查询MD5码,原理是它通过把常用的密码先进行MD5处理,然后将数据存储起来,然后再跟需要查询的MD5结果匹配,这时就有可能通过匹配的MD5值得到明文数据,所以有些简单的MD5码是可能反查到加密前的明文的。

五、MD5防破解

  • 多重加密

所谓多重加密,其实 就是把要加密的原文加密成MD5密文,然后再一次将MD5密文加密成MD5密文,多试几次,一般3次以上,上线破解的网站就匹配不上了。记住:匹配不上,不一定就是足够安全哦,只是不容易被轻易破解了(因为第二次要破解的原文是一个32位的16进制的字符串,以此类推),增加了破解的时间成本而已。

  • 加盐加密

比如在Java语言中的 Md5Crypt.apr1Crypt(“要加密的密文”, “自定义盐值”), 可以多重使用,自行定义哈。

六、MD5的用途

这个一定要知道哈。

  1. 密码存储

处于安全考虑,所有的原生密码不能直接存储到数据库中,以防数据泄露导致许多问题出现,因此,会将明文密码经过MD5加密后存储到数据库中。

  1. 一致性校验

下载文件的校验码,比如双方约定的字符串或者文件,发送方可提供文件的同时,也提供MD5结果,用于接收方接收后对文件重新 MD5得出结果做对比,就知道文件是否下载完整,或者传输过程中有无被篡改等。

本文完结!文章来源地址https://www.toymoban.com/news/detail-476416.html

到了这里,关于【MD5】什么是MD5?md5的简要描述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux:md5命令以及md5的使用场景

    MD5广泛用于数据完整性校验和密码存储,它是一种不可逆的加密算法,目前无法解密。它会逐位对文件的内容进行校验。是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同。 在数据完整性校验中,MD5可用于验证数据的完整性。例如,在下载文件后,可以对下载

    2024年02月06日
    浏览(43)
  • win中查看MD5、Linux中查看MD5

    Git Bash Here

    2024年02月04日
    浏览(47)
  • uniapp使用md5加密 js使用md5加密

    文章的初衷 最近项目中使用了md5加密,为了方便还不明白怎么使用的朋友参考查阅,当然也为了方便博主再次使用所写 md5加密说明 可在不同平台使用 因为使用方法是js方法去调用的所以不局限于某个平台 我这里使用的方式是登录的时候进行加密,具体其他的使用方式,朋友们自

    2024年02月07日
    浏览(71)
  • 使用md5collgen进行MD5碰撞实验

    题目1:可在ubuntu主机上预先安装md5collgen,题目为“生成两个MD5哈希值一致但是文件内容不同的文件”。 所谓“文件内容不同但却有相同的哈希值”就是 碰撞。 在这个题目中,我们将生成两个具有相同MD5哈希值的不同文件。这两个文件的开始部分需要相同,即它们共享相同

    2024年01月24日
    浏览(44)
  • MD5算法:利用python进行md5 hash值的获取

    MD5,即信息摘要算法,英文为MD5 Message-Digest Algorithm,是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),也叫散列值,用于确保信息传输完整一致。 它可以从一个字符串或一个文件中按照一定的规则生成一个特殊的字符串,这个特殊的

    2024年02月07日
    浏览(37)
  • 用git bash调用md5sum进行批量MD5计算

    对于非常大的文件或者很重要的文件,在不稳定的网络环境下,可能文件的某些字节会损坏。此时,对文件计算MD5即可以校验其完整性。比如本次的 OpenStreetMap 导出包,我的学弟反馈说,有朋友通过网盘下载无法解压,并建议我增加每个文件的MD5校验。 对于文件非常多的情况

    2024年01月24日
    浏览(42)
  • MD5密码加密

    密码加密        使用工具类的MD5功能方法,加密密码        注册环节:               1. 获取用户输入密码 123456               2. 调用MD5加密密码,保存新的加密密码到数据库        登录环节:               1. 获取用户输入密码 123456        

    2024年02月16日
    浏览(43)
  • MD5加盐

    在原始密码基础之上,生成一个随机的字符串(盐值salt)),拼接后的字符串再次MD5 加密。加盐格式:$salt$pass 注册环节: 1.获取输入密码password1123456 2.调用工具类,生成一段4位的字符串(盐值salt) 3.调用工具类,加密salt+password1=password2 4.保存密码pasword2和盐值到数据库 登

    2024年01月23日
    浏览(39)
  • MD5生成签名

    2024年02月08日
    浏览(42)
  • MD5算法

    一、引言 MD5(Message-Digest Algorithm 5)是一种广泛应用的密码散列算法,由Ronald L. Rivest于1991年提出。MD5算法主要用于对任意长度的消息进行加密,将消息压缩成固定长度的摘要(通常为128位)。在密码学、网络安全等领域有着广泛的应用。本文将从算法原理、优缺点及替代方

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包