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

md5是怎么解密的(为什么很多压缩文件上都有这个东西)(1)

首先笔者先告诉大家MD5是一种加密算法,而MD5码的作用则是校验文件是否发生了改变,下面我为大家演示一下MD5码到底怎么使用。

首先演示一下如何在windows上使用MD5码,打开powershell,输入

Get-FileHash .\11.txt -Algorithm md5

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

D41D8CD98F00B204E9800998ECF8427E 。

md5是怎么解密的(为什么很多压缩文件上都有这个东西)(2)

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

Get-FileHash .\11.txt -Algorithm md5

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

D70D38610F1FC539A9FD437C6CC12F5E ,

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

1234>>11.txt

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

md5是怎么解密的(为什么很多压缩文件上都有这个东西)(3)

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

md5是怎么解密的(为什么很多压缩文件上都有这个东西)(4)

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

md5是怎么解密的(为什么很多压缩文件上都有这个东西)(5)

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

md5是怎么解密的(为什么很多压缩文件上都有这个东西)(6)

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

,