ZeroTool Workbench
ファイルハッシュチェッカー
ローカルファイルの SHA-256、SHA-1、SHA-384、SHA-512、MD5 をブラウザで計算。アップロード不要でダウンロード整合性を検証し、期待値とも自動照合。
使い方
- アップロード領域へファイルをドロップする、またはクリックして選択します。
- SHA-256 はデフォルトで有効。必要に応じて SHA-1 / SHA-384 / SHA-512 / MD5 を追加で選択します。
- 「ハッシュを計算」をクリックすると、結果が行ごとに表示されコピーボタンが付きます。
- ダウンロード検証のときは、配布元が公開している期待ハッシュを下部の欄に貼り付けます。大文字小文字を無視して照合し、どの結果と一致するかを表示します。
主なユースケース
- ダウンロード検証:ISO・インストーラー・リリース成果物が公開された SHA-256 と一致するかを確認。
- ビルド成果物の整合性:CI のアーティファクト、S3、企業プロキシ経由の転送で壊れていないかを確認。
- 端末間の同一性確認:2 つのコピーがバイト単位で同じかを素早く判定。
- レガシー互換:多くのディストリビューションは MD5 / SHA-1 を併記しており、本ツールなら一度に確認できます。
計算のしくみ
すべてローカルで完結します。File.arrayBuffer() でファイルを ArrayBuffer
として一括読み込みし、SHA-1 / SHA-256 / SHA-384 / SHA-512 は
crypto.subtle.digest() を通じてブラウザのネイティブ暗号実装(多くの場合
ハードウェアアクセラレーション付き)で計算します。MD5 は Web Crypto には実装されていないため、
ページに同梱したパブリックドメインの MD5 ルーチンを同じバイト列に対して走らせます。
得られた 16 進ダイジェストはそのまま結果行に描画され、どこにも送信されません。
SHA-256 とレガシーアルゴリズムの使い分け
SHA-256 をデフォルトにしているのには理由があります。SHA-2 ファミリーで実用的な衝突攻撃は 発見されておらず、現代のツールチェーン(rustup、cargo、npm、Docker レジストリ、 GitHub Releases、Linux の各種ミラー)はすべて SHA-256 を公開しています。SHA-1 は 2017 年の SHAttered 攻撃で衝突可能性が示され、MD5 の衝突生成はとっくに実用化済みです。 配布元が MD5 / SHA-1 だけを公開している場合は、それを「ダウンロードが壊れていないかの目印」 と捉えてください。「真正性の保証」ではありません。
設計上の境界
本ツールは単一ファイルを一括でハッシュ化することに特化しています。ストリーミングや署名検証、
GPG / PGP 鍵操作、外部通信は一切行いません。巨大なアーカイブにはコマンドラインを使ってください:
sha256sum(Linux)、shasum -a 256(macOS)、
certutil -hashfile(Windows)。真正性の検証には配布元の署名鍵と
gpg —verify や cosign verify を組み合わせるのが正攻法です。
FAQ
対応しているハッシュアルゴリズムは?
SHA-1 / SHA-256 / SHA-384 / SHA-512 はブラウザ標準の Web Crypto API、MD5 はページ内に同梱したパブリックドメインの JavaScript 実装で計算します。デフォルトは SHA-256 で、新規の検証フローでも SHA-256 を推奨します。
MD5 と SHA-1 はまだ安全に使えますか?
暗号学的な安全性は失われています。どちらも実用的な衝突攻撃が知られているためです。とはいえ、配布元が MD5 や SHA-1 を併記している場合の「ファイルが壊れていないか」の確認には依然として有効です。「真正性の証拠」ではなく「ダウンロード整合性のヒント」として扱い、選べる場合は SHA-256 を優先してください。
ファイルはどこかに送信されますか?
送信されません。ファイルは ArrayBuffer としてブラウザに読み込まれ、SHA 系はブラウザのネイティブ暗号モジュール、MD5 はページ内のインライン JavaScript ルーチンで計算されます。ビルド成果物、署名済みパッケージ、機密ダウンロードでも安心して利用できます。
ファイルサイズの実用上限は?
1 GB 程度までを想定しています。ブラウザは ArrayBuffer の確保を 2 GB 付近で打ち切るため、それを超えると端末のメモリ次第になります。TB 級アーカイブはコマンドラインを推奨します:Linux なら sha256sum、macOS なら shasum -a 256、Windows なら certutil -hashfile <file> SHA256。
なぜ大きなファイルでは MD5 が目立って遅いのですか?
SHA-1 / 256 / 384 / 512 はブラウザのネイティブ暗号モジュールで実行され、多くの場合ハードウェアアクセラレーションが効きます。一方 MD5 は Web Crypto に実装がないため、本ツールでは純粋な JavaScript で計算しています。約 100 MB を超えると差が顕著になります。算法を 1 つだけ選ぶ場面では SHA-256 を選んでください。