SHA256sum系列命令检测文件完整性
1 sha256sum
sha256sum
是一个检测文件完整性的命令,一般下载的文件都会附带一个哈希值,使用sha256sum
计算下载文件的哈希值再与目标哈希值比较即可确定文件是否完整,类似的命令还有:
md5sum
sha1sum
sha224sum
sha384sum
sha512sum
2 安装
该系列命令在一个叫coreutils
的包内,一般Linux
都会安装,没有的话可以从软件包仓库安装,以笔者系统Manjaro
为例:
paru -S coreutils
另外目前最新的SHA
算法为SHA3
,需要使用SHA3
的话可以安装sha3sum
:
paru -S sha3sum
3 使用
使用很简单,命令后面直接加上对应的文件,即可计算哈希值,以OpenJDK为例:
文件旁边有一个sha256
的值,先把文件下载,使用sha256sum
计算:
sha256sum openjdk-15+36_linux-x64_bin.tar.gz
然后下一步就是比较给出的sha256
,没理由手动一个一个比较吧?
可以直接使用下面的命令去比较:
echo "bb67cadee687d7b486583d03c9850342afea4593be4f436044d785fba9508fb7 openjdk-15+36_linux-x64_bin.tar.gz" | sha256sum --check
格式为:
echo "sha256哈希值 文件名" | sha256sum --check
如果不匹配,会显示checksum did NOT match
:
如果哈希值存在于文件中,可以使用下面的命令:
echo "$(cat 哈希值文件名) 待比较的文件" | sha256sum --check
比如:
echo "$(cat sha256) openjdk-15+36_linux-x64_bin.tar.gz" | sha256sum --check