インターネットからファイルをダウンロードしたが、元の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
diff
1つの解決策は、2つのハッシュを比較する文字列を使用することです。幸いなことに、次のように単一のコマンドラインエントリでこれを行うことができます。
diff -is <(echo "d9cd63f187db2daea1371289508c63a7a24c46316f15ac61f030a7d6ea423915 /path/to/downloaded.pkg") <(shasum -a 256 /path/to/downloaded.pkg)
重要:必ずしてください二つ用語の最初の部分のハッシュ値とダウンロードしたファイルのパスの間にスペースがあります。
この回答のいくつかはいくつかの場所にありますが、一生懸命検索したにもかかわらず、どこにもその回答が見つかりませんでした。より良いオプションがあれば聞きたいです。