Linux 校验文件 SHA1 SHA256 MD5 方法

Eric 教程 3,128 次浏览 评论已关闭

要知道一个文件是否被修改,可靠方法是校验文件 Hash 值。它由不同算法创建得出,以一串数字字母组成。相当于文件的电子指纹,一旦修改数值也随之变更。

现在常用的算法有 SHA1 SHA256 MD5,在 Linux 系统下有相应命令可以使用,具体如下。

Linux 计算文件 Hash 值

以计算文件 SHA1 为例。其它算法也是一样用法,只是命令名称有所区别。

示例 1:计算一个文件的 SHA1 值。

[root@testhost ~]# sha1sum test.txt
d0b0d61ce9b03d9e07e511ca53b19a4dfde4dc73  test.txt

示例 2:计算多个文件 SHA1(可以用通配符批量选择),并将结果写入指定文件。

[root@testhost ~]# sha1sum test.txt test2.txt test3.txt > hash.sha1
[root@testhost ~]# cat hash.sha1
d0b0d61ce9b03d9e07e511ca53b19a4dfde4dc73  test.txt
9b256eb031ec0551a19c0cf62ab6c05a78e118b1  test2.txt
9c4e85371847c38f326c6480cee470283cef62af  test3.txt

示例 3:输入指定 SHA1 值校验与文件是否匹配。

[root@testhost ~]# echo "d7a7aa567c53f617d2d54ea81d14db2d171b7994  test4.txt" | sha1sum -c
test4.txt: OK

示例 4:以 SHA1 结果文件批量校验所记载的文件。

[root@testhost ~]# sha1sum -c hash.sha1
test.txt: OK
test2.txt: OK
test3.txt: OK

其它算法

其它常用散列算法还有 SHA224 SHA256 SHA512 MD5,使用只需在名称后加上 sum 就可。

[root@testhost ~]# sha224sum test.txt
[root@testhost ~]# sha256sum test.txt
[root@testhost ~]# sha512sum test.txt
[root@testhost ~]# md5sum test.txt