Linux 校验文件 SHA1 SHA256 MD5 方法
要知道一个文件是否被修改,可靠方法是校验文件 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