检查 sha256 校验和

sat*_*ngh 6 sha256sum

我试图使用 ubuntu 中的 shasum 检查下载的真实性。但我无法理解语法。

下面的代码有效

  1. echo "<sha-hash> *filename" | shasum -a 256 -c

我想知道为什么我们要在文件名前加上“*”(星号)。
我还尝试使用生成文件

  1. shasum -a 256 filename > file.sha
  2. shasum -a 256 -c file.sha

上面的代码也有效。当我打开file.sha文件时,我看到

<hash> <filename>
Run Code Online (Sandbox Code Playgroud)

文件中不存在星号。我尝试编写不带星号的第一个语句,但随后它抛出一个错误,指出

shasum:标准输入:未找到格式正确的 SHA1 校验和行

Flo*_*sch 5

在文件名前加上星号表示shasum如果系统支持,则将该文件视为二进制文件。文件应被视为文本文件,您可以使用单个空格代替。

Linux 不区分二进制文件和文本文件,因此使用哪一种并不重要,但不能忽略它。

所以你必须使用

<hash>  <filename>
Run Code Online (Sandbox Code Playgroud)

哈希值后有两个空格:一个空格将哈希值与文件名分隔开,另一个空格表示文本模式。