ZeroTool Workbench

ファイルハッシュチェッカー

ローカルファイルの SHA-256、SHA-1、SHA-384、SHA-512、MD5 をブラウザで計算。アップロード不要でダウンロード整合性を検証し、期待値とも自動照合。

100% クライアントサイド データはブラウザ外に出ません 無料 · 登録不要

Drop a file, or click to choose

Any file · best up to ~1 GB · hashed in your browser

Algorithms

100% client-side — the file never leaves your browser

使い方

  1. アップロード領域へファイルをドロップする、またはクリックして選択します。
  2. SHA-256 はデフォルトで有効。必要に応じて SHA-1 / SHA-384 / SHA-512 / MD5 を追加で選択します。
  3. 「ハッシュを計算」をクリックすると、結果が行ごとに表示されコピーボタンが付きます。
  4. ダウンロード検証のときは、配布元が公開している期待ハッシュを下部の欄に貼り付けます。大文字小文字を無視して照合し、どの結果と一致するかを表示します。

主なユースケース

  • ダウンロード検証: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 —verifycosign 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 を選んでください。