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