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为例:

1 <code>sha256sum</code>-LMLPHP

文件旁边有一个sha256的值,先把文件下载,使用sha256sum计算:

sha256sum openjdk-15+36_linux-x64_bin.tar.gz

1 <code>sha256sum</code>-LMLPHP

然后下一步就是比较给出的sha256,没理由手动一个一个比较吧?

可以直接使用下面的命令去比较:

echo "bb67cadee687d7b486583d03c9850342afea4593be4f436044d785fba9508fb7 openjdk-15+36_linux-x64_bin.tar.gz" | sha256sum --check

1 <code>sha256sum</code>-LMLPHP

格式为:

echo "sha256哈希值 文件名" | sha256sum --check

如果不匹配,会显示checksum did NOT match

1 <code>sha256sum</code>-LMLPHP

如果哈希值存在于文件中,可以使用下面的命令:

echo "$(cat 哈希值文件名) 待比较的文件" | sha256sum --check

比如:

echo "$(cat sha256) openjdk-15+36_linux-x64_bin.tar.gz" | sha256sum --check
03-09 18:16