ファイルのハッシュ計算|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 より高速に計算できる場合がある |
ファイルハッシュ確認のヒント
- 配布元サイトが「SHA256: xxxxx」のように具体的なアルゴリズム名を明記していない場合は、上部の照合欄にハッシュ値を貼り付けるだけで自動的にどのアルゴリズムか判定します。
- 大きなファイル(数百MB以上)はブラウザのメモリを消費するため、計算に数秒〜数十秒かかることがあります。タブを閉じずにお待ちください。
- ISOイメージやインストーラーなど、改ざんされると被害が大きいファイルほどハッシュ照合の習慣化をおすすめします。
- MD5・SHA-1は衝突攻撃が実証されているため、悪意ある改ざんの検知には不向きです。セキュリティ用途にはSHA-256以上を使ってください。
よくある質問
余談ですが ― なぜ公式サイトはハッシュ値を公開するのか
ソフトウェアの配布において、ダウンロードリンクの隣に「SHA256: a1b2c3...」のようなハッシュ値が併記されているのを見たことがあるかもしれません。これは配布元が「このファイルは間違いなく私たちが作成したオリジナルであり、通信経路上で改ざんされたり、ミラーサーバーで破損したりしていない」ことを利用者自身に検証してもらうための仕組みです。
この仕組みが特に重要になるのが、Linux ディストリビューションのISOイメージ配布です。世界中に散らばるミラーサーバー経由でダウンロードするため、通信エラーによる破損はもちろん、悪意ある第三者がミラーサーバーを乗っ取ってマルウェアを仕込んだ改ざん版を配布するリスクも理論上存在します。公式サイトが署名済みのハッシュ値一覧(多くはGPG署名付き)を公開していれば、利用者はどのミラーからダウンロードしても、手元でハッシュ値を計算して一致を確認するだけで安全性を検証できます。
ハッシュ関数には「入力が1ビットでも変わると出力が全く異なる値になる(雪崩効果)」という性質があるため、意図的な改ざんはもちろん、ダウンロード中のわずかな通信エラーによる破損も確実に検出できます。ファイルサイズが一致していても中身が1バイトでも違えばハッシュ値は全く別の値になるため、目視でのファイルサイズ確認よりもはるかに確実な検証手段です。