Windows の場合、Windows 7 / Server 2008 R2 以降にデフォルトでインストールされている PowerShell を使用できます。 Get-FileHash 関数は、Windows 8.1 および Windows Server 2012 R2 に付属する PowerShell v4 で導入されました。以前のバージョンの PowerShell では、James Manning のブログにあるこれらのスクリプトでうまくいきます。
Get-FileHash の使用例:
C:\Windows> Get-FileHash -Algorithm md5 .\notepad.exe
Algorithm Hash Path
--------- ---- ----
MD5 24DA05ADE2A978E199875DA0D859E7EB C:\Windows\notepad.exe
サポートされているアルゴリズムは、SHA1、SHA256、SHA384、SHA512、MACTripleDES、MD5、および RIPEMD160 です。
特に Unix (または、複数形にすることになっている) の場合に思い浮かぶツールは、openssl です。
openssl dgst -sha256 path/to/file
openssl dgst コマンドは、多くの一般的なハッシュ オプションを提供します。openssl は、デフォルトでほとんどの Unix システムにインストールされており、Windows でも使用できます。 OSXにも同梱されていると思います。 Windows がそのようなツールなしで出荷されるのは、理想的とは言えない状況です。
GUIツールに関しては、あなたがすでに言及したHashCalc以外は個人的に知りません.
Windows/Unix が混在する環境で、一般的な暗号化アルゴリズムに使用するものは次のとおりです。
- 多くの計算、特にハッシュ (ただし HMAC は除く) と X.509 証明書の操作のための OpenSSL。
- Python の
hashlib
とhmac
SHA および HMAC 用。
残念ながら、どちらも Windows には含まれていないため、別途インストールする必要があります。
Python を使用してファイルの HMAC を計算する簡単なワンライナーを次に示します。ターミナルでキーを 16 進数で入力します (または、標準入力で echo … |
を使用して渡します)。 、ただし、キーがシェルの履歴に残ることに注意してください)。ファイルはメモリに読み込まれますが、大きなファイルには適していません。
python -c "import binascii, hashlib, hmac, sys; print hmac.new(binascii.unhexlify(str.strip(sys.stdin.readline())), open(sys.argv[1]).read(), hashlib.sha256).hexdigest()" myfile.dat
Windows では、非技術者が使用できる単純なハッシュ検証ツール (SHA などをサポートし、HMAC をサポート) は SlavaSoft HashCalc です。残念ながら、これはオープンソースではないため、その操作に完全な自信を持っていない可能性があります.