帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  CentOS 系统中校验下载文件的完整性方法(MD5,SHA1)

CentOS 系统中校验下载文件的完整性方法(MD5,SHA1)

2016-10-17 20:51:11 12584

MD5校验

原理:对文件进行MD5 Hash,求出文件的MD5哈希值,通过下载后文件MD5哈?值和发布者提供的MD5哈希值是否一致来判断文件是否在发布者发布之后被篡改过。

说明:寿命老长的一个Hash算法,适用范围广,网站存储密码也经常使用。不同的文件产生的MD5哈希值是唯一的,但这点已经有办法通过对文件进行少量的修改,让文件的MD5后的哈希值保持一致。

使用:在CentOS下,要对文件进行MD5 Hash是很简单的,一个 md5sum 命令即可:

$是终端提示符,非输入.
#号是注释
没有提示符的是输出

#直接输出MD5 Hash
$ md5sum your-downloaded-file-name
fd4a1b802373c57c10c926eb7ac823d8 your-downloaded-file-name

#将MD5 Hash值保存到md5-hash.txt文件中.
$ md5sum your-downloaded-file-name > md5-hash.txt

# 显示输出的md5-hast.txt内容
$ cat md5-hash.txt
fd4a1b802373c57c10c926eb7ac823d8 your-downloaded-file-name

# 通过md5-hash.txt来校验你下载的文件是否正确
$ md5sum -c md5-hash.txt
your-downloaded-file-name: OK


你是文件的发布者话,你可以通过md5sum把文件的哈希值发送?验证者,这样下载你文件的人就可以通过MD5哈希值来验证你的文件正确性。反过来,我们在网站上下载文件之后,同时可以获取发布者的MD5哈希值和本地生成的Hash值对比,如果一致,认为文件是正确的。


SHA1校验

原理: 原理同MD5一样,都是通过对文件进行HASH求值,比对文件发布者发布的HASH值,通过是否相等判断文件是否被篡改

说明: SHA1 HASH求值方法可以说是MD5的一个升级版本(SHA1 20位,MD5 16位),在HASH求值方面,MD5退出的舞台将有SHA1占据。SHA家族有五个算法:SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,后四种有时候称为SHA2

使用: CentOS有SHA1的命令: sha1sum

$是终端提示符,非输入.
#号是注释
没有提示符的是输出

# 直接输出SHA1 Hash
$ sha1sum your-downloaded-file-name
12dc96cbd822598c1230c87622f3591461a77227 your-downloaded-file-name

# 将SHA1 Hash值保存到文件中
$ sha1sum your-downloaded-file-name > sha1-hash.txt

# 显示文件内容
$ cat sha1-hash.txt
12dc96cbd822598c1230c87622f3591461a77227 your-downloaded-file-name

#通过sha1-hash.txt来校验我们下载的文件your-downloaded-file-name
# 注意,文件必须要要通过txt文件中的路径知道哦
$ sha1sum -c sha1-hash.txt
your-downloaded-file-name: OK


这个SHA1和MD5基本一致,需要补充说明下的是,在使用 md5sum 也好,还是 sha1sum 也罢,校验文件的时候,务必要让系统能够根据文件中提供的路径找到文件,如果文件找不到,是没有办法进行校验的。

如果是做多个文件的Hash校验,可以通过一个文件保存多个文件的Hash值即可。










提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: