天天看點

SHA256sum系列指令檢測檔案完整性

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

SHA256sum系列指令檢測檔案完整性

檔案旁邊有一個

sha256

的值,先把檔案下載下傳,使用

sha256sum

計算:

sha256sum openjdk-15+36_linux-x64_bin.tar.gz
           
SHA256sum系列指令檢測檔案完整性

然後下一步就是比較給出的

sha256

,沒理由手動一個一個比較吧?

可以直接使用下面的指令去比較:

echo "bb67cadee687d7b486583d03c9850342afea4593be4f436044d785fba9508fb7 openjdk-15+36_linux-x64_bin.tar.gz" | sha256sum --check
           
SHA256sum系列指令檢測檔案完整性

格式為:

echo "sha256哈希值 檔案名" | sha256sum --check
           

如果不比對,會顯示

checksum did NOT match

SHA256sum系列指令檢測檔案完整性

如果哈希值存在于檔案中,可以使用下面的指令:

echo "$(cat 哈希值檔案名) 待比較的檔案" | sha256sum --check
           

比如:

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