md5是什么意思

MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。

MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。

1991年,Rivest开发出技术上更为趋近成熟的md5算法。它在MD4的基础上增加了”安全-带子”(safety-belts)的概念。虽然MD5比MD4复杂度大一些,但却更为安全。这个算法很明显的由四个和MD4设计有少许不同的步骤组成。在MD5算法中,信息-摘要的大小和填充的必要条件与MD4完全相同。Den boer和Bosselaers曾发现MD5算法中的假冲突(pseudo-collisions),但除此之外就没有其他被发现的加密后结果了。

MD5应用

一致性验证MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在Unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如: [1] MD5 (tanajiya.tar.gz) = 38b8c2c1093dd0fec383a9d9ac940515这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。为了让读者朋友对MD5的应用有个直观的认识,笔者以一个比方和一个实例来简要描述一下其工作过程:大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为司法机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。我们常常在某些软件下载站点的某软件信息中看到其MD5值,它的作用就在于我们可以在下载该软件后,对下载回来的文件用专门的软件(如Windows MD5 Check等)做一次MD5校验,以确保我们获得的文件与该站点提供的文件为同一文件。具体来说文件的MD5值就像是这个文件的“数字指纹”。每个文件的MD5值是不同的,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”就会发生变化。比如下载服务器针对一个文件预先提供一个MD5值,用户下载完该文件后,用我这个算法重新计算下载文件的MD5值,通过比较这两个值是否相同,就能判断下载的文件是否出错,或者说下载的文件是否被篡改了。MD5实际上一种有损压缩技术,压缩前文件一样MD5值一定一样,反之MD5值一样并不能保证压缩前的数据是一样的。在密码学上发生这样的概率是很小的,所以MD5在密码加密领域有一席之地。但是专业的黑客甚至普通黑客也可以利用MD5值实际是有损压缩技术这一原理,将MD5的逆运算的值作为一张表俗称彩虹表的散列表来破解密码。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。数字签名MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现(两个MD5值不相同)。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。安全访问认证MD5还广泛用于操作系统的登陆认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方面。如在Unix系统中用户的密码是以MD5(或其它类似的算法)经Hash运算后存储在文件系统中。当用户登录的时候,系统把用户输入的密码进行MD5 Hash运算,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用户知道。MD5将任意长度的“字节串”映射为一个128bit的大整数,并且是通过该128bit反推原始字符串是困难的,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。所以,要遇到了md5密码的问题,比较好的办法是:你可以用这个系统中的md5()函数重新设一个密码,如admin,把生成的一串密码的Hash值覆盖原来的Hash值就行了。正是因为这个原因,现在被黑客使用最多的一种破译密码的方法就是一种被称为”跑字典”的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。我们假设密码的最大长度为8位字节(8 Bytes),同时密码只能是字母和数字,共26+26+10=62个字节,排列组合出的字典的项数则是P(62,1)+P(62,2)….+P(62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘阵列,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。这种加密技术被广泛的应用于Unix系统中,这也是为什么Unix系统比一般操作系统更为坚固一个重要原因。

算法原理

对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。 [2] 总体流程如下图所示, 表示第i个分组,每次的运算都由前一轮的128位结果值和第i块512bit值进行运算。

图1.MD5算法的整体流程图

代码实现

MD5值就像是这个文件的“数字指纹”。每个文件的MD5值是不同的,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”就会发生变化。比如下载服务器针对一个文件预先提供一个MD5值,用户下载完该文件后,用我这个算法重新计算下载文件的MD5值,通过比较这两个值是否相同,就能判断下载的文件是否出错,或者说下载的文件是否被篡改了。MD5实际上一种有损压缩技术,压缩前文件一样MD5值一定一样,反之MD5值一样并不能保证压缩前的数据是一样的。在密码学上发生这样的概率是很小的,所以MD5在密码加密领域有一席之地。但是专业的黑客甚至普通黑客也可以利用MD5值实际是有损压缩技术这一原理,将MD5的逆运算的值作为一张表俗称彩虹表的散列表来破解密码。 利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。

原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/9439.html

(0)
上一篇 2023-04-10 上午9:43
下一篇 2023-04-10 上午10:12

相关推荐

  • 如何保健养生(保健养生加盟)

    欲望的变化影响了不同时期人们的养生观念,这不仅给医生诊病带来了困难,也给自身健康造成了很大的伤害。 扁鹊说:皇帝曾说过一刻时间内人大约呼吸135次,十刻1350字,百刻13,500…

    培训问答 2023-01-17
  • 哪个机构学会计好?

    2、看就业率以及就业情况,这个可以去培训机构实地查看,学员的就业率以及就业情况是检验机构的绝对标准。也是可以从侧面反应课程·更新情况的,如果课程不能紧跟市场变化,那么学员学的技术肯…

    培训问答 2023-07-19
  • 中山怎么样的城市(中山怎么样做好短营销)

    哇!你的问题非常简约,但是解答的确不能简单。 生活在中山 在8年前,我也曾经在知乎解答过类似的问题,当时就一句话“一线城市的幸福感、二线城市的物价水平、三线城市的房价”。 但是8年…

    培训问答 2023-03-26
  • 成人高考想报汕头大学,这个学校难不难考

    汕头大学是广东省的一所重点大学,由教育部、广东省以及李嘉诚基金会三方合作共建。在李嘉诚基金会支持下,汕头大学的教育资源以及质量日渐攀升,成为了很多考生的报考目标。 汕头大学成人本科…

    培训问答 2023-03-12
  • 纹眉哪家店好

    首先给大家解释一下,什么是眉毛种植,跟头发种植是不是一样的,是什么原理 眉毛种植从哪里提取毛囊呢? 道理上眉毛种植和头发种植是一样的,都是在后枕部提取毛囊。但眉毛选择的部分较多提取…

    培训问答 2022-10-02
  • 关于机器人教育加盟,你怎么看待

    客观事实解答,并不是每一个人都适合创业,比如分不清大多数加盟都是忽悠和利用信息不对称割韭菜。 先大家看看加盟的痛点和行业事实吧? 作为过来人,觉得有必要解答一下。大多数加盟都是成为…

    培训问答 2023-02-05
  • 孩子到底需不需要早期教育,孩子需不需要早期教育

    人类出生后,在0-3岁婴幼儿期内围绕生理和心理成长而进行的生活和学习活动为早期教育。 宝宝的视觉、听觉、触觉、前庭平衡、运动、用手、语言,这些每一个基本能力都有它发展的生理阶段性,…

    培训问答 2023-02-15
  • 物流管理论坛,物流管理前景如何

    物流行业是传统行业,但随着现代信息、AI自动化等科学技术的发展和在物流领域的应用,物流领域的科技含量也在上升,现代物流管理是门综合性的科学技术,运筹学、信息技术、国际贸易、统计等等…

    培训问答 2022-10-28
  • 如果选择花钱学习系统瑜伽教师培训班,你最关心的和最担心的问题分别是什么

    如果选择花钱学习系统瑜伽教师培训班,我最关心的和最担心的问题分别是什么? 如果我决定花钱学习系统瑜伽教师培训班的话,我最关心的当然是瑜伽培训班老师的资质啦,现在社会上这样那样的培训…

    培训问答 2022-05-06
  • 怎么把照片色彩调鲜艳(电脑色彩鲜艳怎么调)

    摄影后期处理过程中,调色是非常关键的一步,拍摄的照片,有时候在相机上看效果不错,但导入电脑上就显得发灰,色彩不够鲜艳,所以必须得通过后期来达到我们想要的效果。以下案例运用PS(Ph…

    培训问答 2023-04-04