表示言語: 日本語 英語に切り替え

ファイルハッシュ計算機

任意のファイルの MD5、SHA-1、SHA-256、SHA-512 ハッシュを計算 — 公開チェックサムと照合してダウンロードを検証するのに便利。

ここにファイルをドロップ または
  1. 破線ボックスに 1 つまたは複数のファイルをドロップするか、参照をクリック。
  2. すべてハッシュをクリック — 各ファイルに対して MD5、SHA-1、SHA-256、SHA-512 が計算されます。
  3. 任意の行の個別ハッシュをコピーするか、全ファイルの SHA-256 をまとめて SHA256SUMS 形式で取得。
  4. 公開チェックサムを Verify ボックスに貼り付けて、どのファイル(あれば)が一致するかを確認。
何ができるのか?

このツールはファイルをローカルで読み取り、業界標準の 4 種類のダイジェスト — MD5、SHA-1、SHA-256、SHA-512 — を一度に生成します。新しいものには SHA-256 を使用;照合先のパブリッシャーがまだ公開している場合のみ MD5 や SHA-1 を使います。Verify ボックスは任意の hex 文字列を受け付け、4 つのアルゴリズムのうちどれに(あれば)一致するか教えてくれるため、プロジェクトがどれを使ったか事前に知る必要はありません。

ファイル ubuntu-24.04.1-desktop-amd64.iso (6,114,656,256 bytes) をハッシュすると:

MD5     e3a5c61d27d541e09ef0e894c514ad54
SHA-1   0bc9a82a4f7fc19f97cefc8a62e5ef10d2d65f80
SHA-256 c2e6f4dbefb08d47d3e3b41e4bcadce9dcebdf3a47f8c08390d6b8b10b35b1ab
SHA-512 bd4a8f30...d14e97c2 (128 hex chars)

Ubuntu が公開する SHA-256 行を SHA256SUMS から Verify ボックスに貼り付けると、一致が表示されるはずです。

なぜサーバーが報告する SHA-256 ハッシュと異なるのか?

ハッシュ不一致のよくある原因と、知っておくべき制限:

  • ファイル境界が間違っている。 archive.zip をハッシュするのと、その中の 1 ファイルをハッシュするのでは異なるダイジェストになります。パブリッシャーは通常、外側のアーカイブをハッシュします。
  • 行末の書き換え。 Windows 上の Git で core.autocrlf=true を使うと checkout 時に \n が \r\n に変わるため、作業ツリーのファイルはもう上流のハッシュと一致しません。core.autocrlf=false で checkout するか、生の blob をダウンロードしてください。
  • Hex と Base64。 sha256sum は hex を出力します。一部の S3 ETag や署名付きマニフェストは Base64 です。期待される一方を他方で貼り付けると必ず失敗します。
  • ブラウザのメモリ制限。 SHA ファミリはファイルを完全に ArrayBuffer に読み込むため、4 GB の ISO はモバイルブラウザで OOM を起こす可能性があります。デスクトップで試すか、非常に大きなファイルにはコマンドラインの sha256sum を使ってください。
  • アルゴリズム間の比較。 SHA-256 (hex 64 文字) は SHA-1 (40 文字) と比較できません。内容を見る前にアルゴリズム長を合わせてください。
  • 貼り付け時の末尾空白。 hex ダイジェストと一緒にコピーされた改行は、文字列を 64 ではなく 65 文字にします。比較前にトリミングを。
よくある質問

MD5、SHA-1、SHA-256、SHA-512 の違いは?

出力長と衝突耐性が異なります。MD5 は 128 ビット、SHA-1 は 160、SHA-256 は 256、SHA-512 は 512 です。MD5 と SHA-1 は意図的な衝突攻撃に対して破られているので、署名やパスワード保管には使うべきではありません — ただし偶発的な破損ダウンロードの検証なら十分です。SHA-256 は現代の標準、SHA-512 はより長いダイジェストが必要な場面で使われます。

なぜサーバーが報告する SHA-256 ハッシュと異なるのか?

通常、3 つの原因のうちの 1 つです: ダウンロード時にファイルが変更された (CDN が再エンコード、アンチウイルスがフッターを追加、Windows 上で Git が行末を変えた); パブリッシャーがアーカイブをハッシュしたのにあなたは展開後のファイルをハッシュした (またはその逆); あるいは hex と Base64 を比較している。同じツールで両端を再計算し、まずファイルサイズを確認してください — バイトが違えばハッシュも違います。

ファイルサイズの上限はありますか?

上限はブラウザのメモリで、ツールではありません。ここでの SHA ファミリはファイル全体を ArrayBuffer に読み込んで Web Crypto API に渡すため、実質的に多くのデスクトップで数 GB、スマホではもっと少なくなります。MD5 は 4 MB のチャンクでストリームされるので大きなファイルにも耐えますが、全体フローはメモリ依存です。

これは sha256sum や PowerShell の Get-FileHash と一致しますか?

はい。Linux/macOS で sha256sum file.iso、PowerShell 5+ で Get-FileHash -Algorithm SHA256 file.iso を実行すると、このツールが出すのと同じ小文字 hex ダイジェストになります。不一致が見られる場合、同じバイトをハッシュしているか確認してください — PowerShell は既定で SHA-256、他のアルゴリズム用には sha1sum / md5sum が兄弟として存在します。

このツールは Linux ISO ダウンロードの検証に適していますか?

はい、まさに想定用途です。ISO をドロップし、SHA-256 の完了を待ち、ディストリビューションの checksums ファイルから期待値を "Verify against a known hash" ボックスに貼り付けてください。一致すれば、ディスク上のバイトがパブリッシャーが署名したものと同一であることを証明します。可能であれば checksums ファイル自体も署名 (GPG) で必ず二重確認してください。

ここでハッシュしたファイルを保存しますか?

いいえ。ドロップされたファイルも生成したハッシュも保存しません。ページを閉じたり更新したりした瞬間にすべて破棄 — ログもなく、何をハッシュしたかの記録もありません。機密ファイルも安心してドロップでき、気になるならブラウザの DevTools で確認できます。