0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ダウンロードしたプログラムのハッシュをサクッと照合する方法

Last updated at Posted at 2022-10-28

テキストファイルを用意してチェックするのが標準的なやり方だと思うのですが・・・
それが面倒で、クリップボードにハッシュ値をコピーしてる状態で、ワンコマンドで確認したい。

前提

MD5ハッシュ値:aaaaabbbbbcccccdedddeeeeefffffggggghhhhh
DLしたソフトのファイル名:hoge.exe

方法1:ハッシュチェックコマンドの標準入力にハッシュ値とファイルリストのペアを流しこむ

echo aaaaabbbbbcccccdedddeeeeefffffggggghhhhh hoge.exe | md5sum -c -

hoge.exe: OKhoge.exe: FAILEDが表示される

●省力キーボード入力例:(ハッシュ値をコピーしている状態で)
"echo " → ペースト(Ctrl+Shift+V) → "ho" → Tab(補完入力) → "| md5sum -c -" → Enter等でOK

方法2:ハッシュチェックコマンドの標準出力をgrepで比較する

md5sum hoge.exe | grep aaaaabbbbbcccccdedddeeeeefffffggggghhhhh

→ 「前方一致すれば」aaaaabbbbbcccccdedddeeeeefffffggggghhhhh hoge.exeが表示される。
→ そうでなければ何も表示されない
デメリット:前方一致が条件なので、完全一致ではない(ポカミスの原因)

方法3:方法2の一部改良

md5sum hoge.exe | grep "aaaaabbbbbcccccdedddeeeeefffffggggghhhhh "

ハッシュ値の末尾に半角スペースを付与しつつ "" で囲む
→ ハッシュ一致すればaaaaabbbbbcccccdedddeeeeefffffggggghhhhh hoge.exeが表示される。
→ そうでなければ何も表示されない

おまけ

1. 正攻法であるハッシュリストからチェックする方法

md5sum --check hoge.txt

→ プログラム名はリストから自動サーチしてくれるので、目的の行にOKが表示されていたら大丈夫。
→ ファイルリストに記載多すぎて見づらい等は、標準エラー出力を捨てたり、結果を grep したら良いです。
 例:

md5sum --check hoge.txt 2>/dev/null | grep linux | grep -e x86 -e x64

2. Macはsha256sumがプリインストールされていないらしい

これでインストール出来るらしい。

brew install coreutils

まとめ

OK,NGがしっかり分かる「方法1」がおすすめ。
SHA1の場合はmd5sumsha1sumにするだけ。
SHA256も同様にmd5sumsha256sumにするだけ。

余談でWSLだと、Win+Rcmdwslcd Desktopとすると、デスクトップをカレントディレクトリにした状態でWSLを起動できます。
(コマンドプロンプトのデフォルトのカレントディレクトリはユーザーのフォルダで、wslコマンドを打つと、さっきまで居たディレクトリがカレントディレクトリになる。)

何でこういうのがサクッと検索で見つからないんでしょうね?

参考

Windows 10でWSLが無い状態だと、以下が詳しいです。

【Windows】SHA256などのファイルハッシュ値を確認する方法
https://qiita.com/setonao/items/4e9edd3e2064c56507e4

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?