首页 > 编程知识 正文

文件压缩后md5会变吗,压缩文件会改变md5吗

时间:2023-05-03 21:15:20 阅读:210253 作者:2615

@MD5是什么?为什么很多压缩文件上都有这个东西?

有时候我们在网上下载文件的时候,会碰到这样一种情况,网站不仅给出了文件的大小,还给出了一个MD5码,这个MD5码是什么东西。

MD5是什么

MD5是MD5消息摘要算法的简称(英语:MD5 Message-Digest Algorithm),是一种广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(即哈希值),用于确保信息传输的完整性。MD5由罗纳德·李维斯特设计,于1992年公开,用以取代MD4算法。这套算法的程序在RFC 1321 中被加以规范。
将数据(如一段文字)运算变为另一固定长度值,是散列算法的基础原理。
MD5已经被证实可以被碰撞破解。对于需要高度安全性的数据,专家一般建议改用其他算法,如SHA-2。

MD5作用是什么

MD5码的作用则是校验文件是否发生了改变,下面我为大家演示一下MD5码到底怎么使用。

首先演示一下如何在windows上使用MD5码,打开powershell,输入
Get-FileHash .11.txt -Algorithm md5

按回车,powershell会给出11.txt的MD5值,Algorithm表示的是加密算法种类,此文件的MD5值为

D41D8CD98F00B204E9800998ECF8427E 。

MD5的值可以修改

然后对文件进行修改,为文件添加一些内容,再次执行

Get-FileHash .11.txt -Algorithm md5

命令,此时得到的结果如下图,文件的MD5值为

D70D38610F1FC539A9FD437C6CC12F5E ,

可以看出,文件发生改变,MD5也会发生变化,图片中

1234>>11.txt

的意思是在11.txt的底部追加写入1234。

在linux上校验MD5值

在windows上校验MD5的方式比较繁琐,在linux上会更加简单,首先打开虚拟机上的Center OS7并用Xshell进行远程连接,新建一个文件11.txt,用md5sum给出11.txt的MD5值,结果如下图所示。touch 11.txt的意思是创建一个名称为11.txt的文件,md5sum 后接路径可以得到文件的MD5值。

然后在11.txt最后追加1234,再次测试文件的MD5值,此时文件的md5值变为e7df7cd2ca07f4f1ab415d457a6e1c13。

linux还给出了校验文件MD5值得更简单方式,将文件的MD5值写入到另一个文件中,相当于一个密码本,当文件不发生改变时,使用md5sum -c 密码本会输出ok,而一旦文件发生了改变,则会输出FAILED,这种方式有利于文件的批量校验。

MD5除了给文件做校验外,还可以用来对数据进行加密,至于对数据进行加密,笔者会在另外一篇文章不下载任何软件,在电脑上直接生成MD5值进行解释。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。