ファイルのハッシュ計算|MD5・SHA-1・SHA-256・SHA-512でダウンロードしたファイルの改ざんを検知
ファイルをドラッグ&ドロップするだけでMD5・SHA-1・SHA-256・SHA-512のハッシュ値を一括計算。配布元の公開ハッシュ値と照合し、ダウンロードしたファイルが破損・改ざんされていないか確認できます。ファイルはサーバーに送信されません。
ハッシュアルゴリズム比較表
| アルゴリズム | 出力ビット数 | 16進数の文字数 | 主な用途 |
|---|---|---|---|
| MD5 | 128bit | 32文字 | 軽量な整合性確認用途のみ。暗号学的な安全性は既に破られており、パスワード保存やデジタル署名には使用不可 |
| SHA1 | 160bit | 40文字 | MD5よりは安全だが衝突攻撃が実証済み。Git のコミットハッシュ等、非セキュリティ用途で現役 |
| SHA256 | 256bit | 64文字 | 現在も安全とされる標準的なハッシュ。ソフトウェア配布時の整合性確認で最も広く使われる |
| SHA512 | 512bit | 128文字 | SHA-256よりさらに長い出力。64bit CPU では SHA-256 より高速に計算できる場合がある |
ファイルハッシュとは
ハッシュ値は、ファイルの中身全体から計算される固定長の文字列で、そのファイルの指紋にあたるものです。内容が1バイトでも違えば値が全く別のものになるため、配布元が公開している値と照合すれば、ダウンロードしたファイルが破損したり改ざんされたりしていないかを確認できます。このツールはファイルを置くだけでMD5・SHA-1・SHA-256・SHA-512を一度に計算します。
計算はすべてブラウザ内で行われ、ファイルの中身が外部へ送られることはありません。ただしファイル全体をメモリに読み込むため、数GB規模のファイルでは時間がかかったり失敗したりすることがあります。またMD5とSHA-1はすでに衝突攻撃が実証されており、悪意ある改ざんの検知には向きません。
ファイルハッシュの確認手順
- ファイルを置く 確認したいファイルを枠内にドラッグするか、クリックして選択します。大きなファイルは計算が終わるまでタブを閉じないでください。
- ハッシュ値を確認する 4つのアルゴリズムの結果が並んで表示されます。配布元が使っているアルゴリズムの値を見てください。
- 公開値と照合する 照合欄に公式サイトのハッシュ値を貼り付けると、どのアルゴリズムと一致するかを自動で判定します。
- 一致しない場合は使わない まず貼り付けの誤りを確認し、それでも違う場合はファイルを実行せず削除して、公式サイトから取得し直してください。
使いこなすためのヒント
- 配布元サイトが「SHA256: xxxxx」のように具体的なアルゴリズム名を明記していない場合は、上部の照合欄にハッシュ値を貼り付けるだけで自動的にどのアルゴリズムか判定します。
- 大きなファイル(数百MB以上)はブラウザのメモリを消費するため、計算に数秒〜数十秒かかることがあります。タブを閉じずにお待ちください。
- ISOイメージやインストーラーなど、改ざんされると被害が大きいファイルほどハッシュ照合の習慣化をおすすめします。
- MD5・SHA-1は衝突攻撃が実証されているため、悪意ある改ざんの検知には不向きです。セキュリティ用途にはSHA-256以上を使ってください。
ファイルハッシュ確認の活用シーン
ISOイメージやインストーラーの検証
OSのイメージや実行ファイルは改ざんされた場合の被害が大きいものです。実行前に公式のハッシュ値と照合する習慣をつけてください。
大容量ファイルの転送エラー確認
回線が不安定な環境で受け取ったファイルが欠けていないかを確認できます。ファイルサイズだけを見るより確実です。
バックアップが原本と同じか確かめる
コピーや移動したファイルのハッシュ値を原本と比べれば、中身が完全に一致していることを検証できます。
重複ファイルの判別
ファイル名が違ってもハッシュ値が同じなら中身は同一です。整理するファイルを選ぶ根拠として使えます。
ハッシュに関する用語
- ハッシュ値
- データから計算される固定長の文字列です。同じ入力からは常に同じ値が得られます。
- チェックサム
- ファイルが壊れていないかを確認するために公開される値です。ハッシュ値がこの用途で広く使われています。
- 衝突
- 異なる2つのデータが同じハッシュ値になる状態です。MD5とSHA-1では意図的に作れることが判明しています。
- 雪崩効果
- 入力がわずかに変わるだけで出力が全く別の値になる性質です。ごく小さな破損まで検出できる根拠になります。
- SHA-256
- 256ビットの長さのハッシュを生成するアルゴリズムです。現在ダウンロードの検証で最も広く使われている標準です。
よくある質問
余談ですが ― なぜ公式サイトはハッシュ値を公開するのか
ソフトウェアの配布において、ダウンロードリンクの隣に「SHA256: a1b2c3...」のようなハッシュ値が併記されているのを見たことがあるかもしれません。これは配布元が「このファイルは間違いなく私たちが作成したオリジナルであり、通信経路上で改ざんされたり、ミラーサーバーで破損したりしていない」ことを利用者自身に検証してもらうための仕組みです。
この仕組みが特に重要になるのが、Linux ディストリビューションのISOイメージ配布です。世界中に散らばるミラーサーバー経由でダウンロードするため、通信エラーによる破損はもちろん、悪意ある第三者がミラーサーバーを乗っ取ってマルウェアを仕込んだ改ざん版を配布するリスクも理論上存在します。公式サイトが署名済みのハッシュ値一覧(多くはGPG署名付き)を公開していれば、利用者はどのミラーからダウンロードしても、手元でハッシュ値を計算して一致を確認するだけで安全性を検証できます。
ハッシュ関数には「入力が1ビットでも変わると出力が全く異なる値になる(雪崩効果)」という性質があるため、意図的な改ざんはもちろん、ダウンロード中のわずかな通信エラーによる破損も確実に検出できます。ファイルサイズが一致していても中身が1バイトでも違えばハッシュ値は全く別の値になるため、目視でのファイルサイズ確認よりもはるかに確実な検証手段です。