ファイルのハッシュ確認
エンコード処理はすべてブラウザ内で完結します。データは送信されません
ファイルのハッシュを計算します —— ドロップするだけです。ファイルは送信されず、計算はすべてブラウザ内で完結します。 もっとも一般的な用途はダウンロードの検証です。配布元やミラーが `sha256: 9f86d0…` を公開しているので、ここで計算した値と突き合わせれば、転送中に壊れていないか、改ざんされていないかが分かります。最近はリリースページ、ファームウェア、Linux ディストリビューションのほとんどがダイジェストを添えています。 ⚠️ 大きなファイルは分割して計算します:32 MB を超えると自前の逐次実装に切り替え、一度に 1 ブロックだけ読み込むためメモリがファイルの大きさに比例して増えず、進捗も表示します(「処理済み 1.2 GB / 4.0 GB」のような形)。小さなファイルはブラウザ標準の計算のまま(こちらの方が高速)。どちらの経路を使ったかは結果に明記し、黙って切り替えません。512 MB の上限は残しています:純 JavaScript のハッシュはコマンドラインよりずっと遅く、それ以上のサイズでは `sha256sum`(Windows は `certutil -hashfile ファイル名 SHA256`)の方が適しています。 もう一点:MD5 と SHA-1 は改ざん検知にはすでに不適切です。衝突の生成は一般のマシンで実行できるほど安価になりました。ここに残してあるのは、多くのレガシーシステムが今も使い、古い解説が今もこれらを案内しているからです。ファイルが書き換えられていないかを本当に確かめたいなら SHA-256 を使ってください。 💡 照合は自分でやる必要はありません:配布ページの行をそのまま「照合」欄に貼り付けてください(大文字、`:` 区切り、`SHA256(file) = …` といった接頭辞もすべて認識します)。結果の先頭に「✓ 一致」または「✗ 不一致」が出て、不一致のときは両方の値が並んで表示されます。
機能
- 5種類を一度に:MD5・SHA-1・SHA-256・SHA-512・CRC-32
- ファイル名・サイズ・種類・更新日時も併記
- 各行に独立したコピーボタン —— 長い16進数を範囲選択する必要はありません
- ⚠️ 配布元のダイジェストを「照合」欄に貼り付けると、一致するかどうかを結果の先頭で明示します —— 64 文字の16進数を目で見比べる必要はありません
- 大文字、`:` や空白区切り、`SHA256(file) = …` といった接頭辞もすべて受け付けます。アルゴリズムは桁数から判定するので、選ぶ必要はありません
- 空ファイルでも確定したダイジェストを返します(空出力にはなりません)
- ⚠️ 32 MB を超えると分割して計算し、メモリがファイルの大きさに比例して増えず、進捗も表示します(Web Crypto に逐次処理がないため、分割時は自前の純 JavaScript 実装を使います)
- どちらの経路(分割・省メモリ / 一括)を使ったかを結果に明記し、黙って切り替えません
- 512 MB を超える場合は理由を説明し、代わりに使うコマンドを案内します
- ファイルは送信されず、オフラインでも動作します
使い方
- 破線の枠にファイルをドロップするか、クリックして選択します
- 結果がすぐに表示され、5種類のダイジェストが並びます
- 各行の右にあるコピーボタンでその値をコピーします
- 公開されているダイジェストと突き合わせます(先に大文字小文字と空白を揃えてください)
よくある質問
- 計算した SHA-256 がサイトの値と一致しません。
- 順に3つ確認してください。まずダウンロードが途中で切れていないか。中断された転送は一見まともな不完全ファイルを残すことがあり、サイズが正規のものと異なります —— ここに表示されるサイズと比べてください。次にビルドが違わないか。バージョン、アーキテクチャ(x64 / arm64)、ミラーが違えばダイジェストも当然異なります。ページが指しているまさにそのファイルを取得したか確認してください。そして本当に改変された可能性。サイズもバージョンも合っているのにどうしても一致しないなら、転送中に差し替えられたことを考えるべきです —— 特に公式以外の経路で入手した場合は。
- MD5 はまだ使えますか?
- 用途によります。転送中の破損に対しては及第点です。ダウンロード中に数バイト化けていればまず検出できますし、CRC-32 でも足ります。意図的な改ざんに対しては不十分です。MD5 と SHA-1 の衝突は実際に構成されており、攻撃者は正規ファイルと同じダイジェストを持つ悪意あるファイルを用意できます —— つまりダイジェストの一致はファイルが無改変である証明になりません。それには SHA-256 を使ってください。パスワードの保存にはもともと不適切で、それは bcrypt / scrypt / Argon2 の役割です。
- 大きなファイルはどう計算しますか?512 MB の上限が残るのはなぜですか?
- 32 MB を超えるファイルは分割経路になります:自前の逐次 SHA / MD5 / CRC 実装が一度に 1 ブロックだけを処理するため、メモリがファイルの大きさに比例して増えず、進捗も表示します。ブロックの間でメインスレッドに 1 フレーム譲るので、画面が固まることもありません。小さなファイルはブラウザ標準の `crypto.subtle` のまま(高速)。512 MB の上限が残るのは、純 JavaScript のハッシュがネイティブのコマンドラインツールよりずっと遅く、それ以上のサイズでは `sha256sum` や `certutil -hashfile` の方が適しているからです。⚠️ なお本ツールは一度に 1 ファイルだけを扱い、2 つのファイルをバイト単位で比較する機能はありません(それがこのシェルの契約です)。ファイルを確認するには、配布元のダイジェストを「照合」欄に貼り付けてください。
関連ツール
ハッシュ計算
エンコードMD5・SHA-1・SHA-256・SHA-512 のダイジェストを計算します(旧システム向けの MD4・MD2 も可)。日本語も UTF-8 バイトで計算します。
MD5 逆引き
エンコードよくあるパスワード一覧と、数字・英小文字の総当たりで MD5 ダイジェストを逆引きします。すべて端末内で完結し、送信もオンライン照会も行いません。
CRC-32
エンコードテキストの CRC-32 チェックサムを計算します。IEEE・Castagnoli・Koopman など6つの変種に対応し、16進数または10進数で出力します。
Base64 変換
エンコードテキストを Base64 に変換し、Base64 からテキストへ戻します。日本語や中国語、emoji も UTF-8 として正しく処理。すべてブラウザ内で完結し、内容は送信しません。
URL エンコード
エンコード日本語や中国語、空白・記号を %XX にエスケープし、復元します。URL 全体とパラメータ値では方式が異なり、間違えるとリンクが開けません。ブラウザ内で処理します。
HTML 実体参照
エンコード< > & と引用符を HTML 実体参照に変換し、文字へ戻します。デコードは1回だけで、&lt; は山括弧ではなく < になります。すべてブラウザ内で処理します。