コマンドラインからダウンロードしたファイルのチェックサムやハッシュをどのように確認できますか?

コマンドラインからダウンロードしたファイルのチェックサムやハッシュをどのように確認できますか?

インターネットからファイルをダウンロードしたが、元のWebサイトからチェックサムやハッシュ(SHA-256など)を提供している場合は、ダウンロードしたファイルのハッシュがWebサイトに報告されたハッシュと一致するかどうかを確認できますか?

たとえば、ファイルをダウンロードしましたが、WebサイトにそのファイルのSHA-256ハッシュが次のように指定されています。

d9cd63f187db2daea1371289508c63a7a24c46316f15ac61f030a7d6ea423915

次のコマンドを使用して、ダウンロードしたファイルのSHA-256ハッシュを生成する方法を知っています。

shasum -a 256 /path/to/downloaded.pkg

しかし、目撃者確認とも呼ばれるハッシュを手動で確認したくありません。代わりに、diff可能であれば、単一のコマンドラインを実行して、同様のコマンドを使用して2つのハッシュを比較したいと思います。

私はMacOS Catalina 10.15.4を実行しており、シェルはzshです。

ベストアンサー1

diff1つの解決策は、2つのハッシュを比較する文字列を使用することです。幸いなことに、次のように単一のコマンドラインエントリでこれを行うことができます。

diff -is <(echo "d9cd63f187db2daea1371289508c63a7a24c46316f15ac61f030a7d6ea423915  /path/to/downloaded.pkg") <(shasum -a 256 /path/to/downloaded.pkg)

重要:必ずしてください二つ用語の最初の部分のハッシュ値とダウンロードしたファイルのパスの間にスペースがあります。

この回答のいくつかはいくつかの場所にありますが、一生懸命検索したにもかかわらず、どこにもその回答が見つかりませんでした。より良いオプションがあれば聞きたいです。

おすすめ記事