テキストファイルを用意してチェックするのが標準的なやり方だと思うのですが・・・
それが面倒で、クリップボードにハッシュ値をコピーしてる状態で、ワンコマンドで確認したい。
前提
MD5ハッシュ値:aaaaabbbbbcccccdedddeeeeefffffggggghhhhh
DLしたソフトのファイル名:hoge.exe
方法1:ハッシュチェックコマンドの標準入力にハッシュ値とファイルリストのペアを流しこむ
echo aaaaabbbbbcccccdedddeeeeefffffggggghhhhh hoge.exe | md5sum -c -
→ hoge.exe: OK
やhoge.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の場合はmd5sum
をsha1sum
にするだけ。
SHA256も同様にmd5sum
をsha256sum
にするだけ。
余談でWSLだと、Win+R
→cmd
→wsl
→cd Desktop
とすると、デスクトップをカレントディレクトリにした状態でWSLを起動できます。
(コマンドプロンプトのデフォルトのカレントディレクトリはユーザーのフォルダで、wslコマンドを打つと、さっきまで居たディレクトリがカレントディレクトリになる。)
何でこういうのがサクッと検索で見つからないんでしょうね?
参考
Windows 10でWSLが無い状態だと、以下が詳しいです。
【Windows】SHA256などのファイルハッシュ値を確認する方法
https://qiita.com/setonao/items/4e9edd3e2064c56507e4