发布网友 发布时间:2022-04-23 01:36
共4个回答
热心网友 时间:2023-05-23 18:18
MD5 校验和(checksum)通过对接收的传输数据执行散列运算来检查数据的正确性。
MD5,是一个将任意长度的数据字符串转化成短的固定长度的值的单向操作。任意两个字符串不应有相同的散列值(即,有“很大可能”是不一样的,并且要人为地创造出来两个散列值相同的字符串应该是困难的)。
一个 MD5 校验和(checksum)通过对接收的传输数据执行散列运算来检查数据的正确性。计算出的散列值拿来和随数据传输的散列值比较。
如果两个值相同,说明传输的数据完整无误、没有被窜改过(前提是散列值没有被窜改),从而可以放心使用。
扩展资料:
MD5校验可以应用在多个领域,比如说机密资料的检验,下载文件的检验,明文密码的加密等。
MD5应用
一致性验证
MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在Unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:
MD5 (tanajiya.tar.gz) = 38b8c2c1093dd0fec383a9d9ac940515
这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的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校验
热心网友 时间:2023-05-23 18:18
MD5是一种算法,他是不可逆的算法,也就是说把一串数据通过MD5规定的计算方法来计算,可以得到一个结果,而这个结果有一个特性,就是不可逆,也就是说,你没办法用这个结果反着得到原来的数据,所以常用于数据加密。除了这个特性,md5算法还有个特点,那就是如果你把计算前的数据改动了,经过计算的结果就和你改动前的原来的数据计算的结果不一样了,这很好理解,比如1X2=2,如果你把1改动了,改成了2,那么2X2=4,4当然不等于2了,同样的计算方法(数据X2)数据有改动时,结果不同。利用这个特点就有了MD5验证,就是在开发商开发出一套软件后,用MD5算法讲他开发的软件的源代码用MD5算出一串字符串(就是MD5验证码),然后把这个验证码和软件放在一起,如果有人(黑客或者网站运营商)在用户下载这个软件之前在软件里加入了流氓软件或者病毒,那么你下载之后,再用md5算法计算源代码而生成的字串结果就肯定和开发商提供的不一致,从而防止用户的机器被黑客和不法商人恶意利用和控制。热心网友 时间:2023-05-23 18:19
加密算法,例如,你下载的软件都有,如果md5不同,那么说明软件被篡改了热心网友 时间:2023-05-23 18:19
MD5是一种加密算法