結論: ソフトの配布ページにある「SHA-256: 3a7b…」のような長い文字列がハッシュ値(チェックサム)です。ダウンロードしたファイルから、自分で同じ計算をして、値が完全に一致すれば、途中で壊れたり、中身がすり替えられたりしていないことを確認できます。WindowsならPowerShellで1行、Macならターミナルで1行です。
ハッシュ値とは
ハッシュ値は、ファイルの中身から計算して作る、固定の長さの文字列です。「ファイルの指紋」にたとえられます。
- 同じ中身なら、必ず同じ値になります
- 1文字でも違えば、まったく違う値になります
- 値から、元のファイルは再現できません
この性質を使い、配布元が、本物のファイルの値を公開しておき、利用者が、手元のファイルの値と突き合わせるのが、チェックサムの確認です。仕組みの考え方は、パスワードのハッシュ化とはの記事でも解説しています。
何が分かって、何が分からないのか
| 確認できること | 確認できないこと |
|---|---|
| ダウンロードの途中で、ファイルが壊れていないか | 配布サイトそのものが、本物かどうか |
| 配布元の値と、中身が同じか(すり替えがないか) | ファイルの中身が、安全なソフトかどうか |
大切なのは、値を載せている場所が、信頼できるかです。ファイルと値が、同じ偽サイトに並んでいれば、一致しても意味がありません。公式サイトのアドレスは、必ず確認してください。
Windowsで確認する方法
方法① PowerShell(Get-FileHash)
- ダウンロードしたファイルが入っているフォルダーを開きます
- フォルダー内の何もない場所で右クリックし、「ターミナルで開く」(Windows 10では、Shiftキーを押しながら右クリックして「PowerShellウィンドウをここで開く」)を選びます
- 次のように入力して、Enterキーを押します(
ファイル名は、実際の名前に置き換えます)
Get-FileHash .\ファイル名 -Algorithm SHA256
「Hash」の欄に表示された文字列が、計算結果です。-Algorithm を省略すると、SHA256で計算されます。
ファイル名が長い時は、ファイルをターミナルの画面にドラッグすると、パスが自動で入力されます。
方法② コマンドプロンプト(certutil)
certutil -hashfile ファイル名 SHA256
PowerShellが使いにくい環境でも、標準で使える方法です。
方法③ 7-Zipの右クリックメニュー
7-Zipを入れている場合は、ファイルを右クリックし、**「CRC SHA」**から、SHA-256を選ぶ方法もあります。入手方法と使い方は、7-Zipの使い方で解説しています。
Macで確認する方法
- ターミナルを開きます
- 「shasum -a 256 」まで入力し、ダウンロードしたファイルを、ターミナルにドラッグします
- Enterキーを押します
shasum -a 256 ファイルのパス
Linuxでは、sha256sum ファイル名 で、同じ確認ができます。
結果を、配布元の値と比べる
- 配布ページの値を、コピーします(目で読み取らず、貼り付けて比べるほうが確実です)
- 計算結果と、全体を比べます。先頭と末尾だけで済ませないでください
- 16進数なので、大文字と小文字の違いは、同じ値として扱えます
目で比べにくい時は、メモ帳に、2つの値を上下に並べると、ずれが分かります。
値が一致しなかった時
- そのファイルを、実行・インストールしない
- ファイルを削除し、公式サイトから、もう一度ダウンロードする
- 別のネットワーク(自宅のWi-Fiとスマホの回線など)で、取り直してみる
- それでも一致しない場合は、配布元に、連絡する。値の掲載が古い(ファイルだけ更新された)可能性もあります
- 公式サイトか不明な場所から取ったファイルなら、使わないのが無難です
ハッシュ値が載っていない時は、デジタル署名を見る
Windowsの実行ファイル(.exeなど)は、デジタル署名で、発行元を確認できる場合があります。
- ファイルを右クリックして、**「プロパティ」**を開きます
- **「デジタル署名」**タブがあれば、署名者の名前を確認します
- 署名者が、ソフトの発行元と一致しているかを見ます
署名がないソフトも、世の中にはあります。署名がないこと=危険ではありませんが、署名者が、まったく違う名前なら、注意が必要です。
まとめ
- ハッシュ値は、ファイルの**「指紋」**。配布元の値と、全体が一致すれば、壊れ・すり替えがないと確認できる
- WindowsはGet-FileHashかcertutil、Macはshasum -a 256
- 一致しないファイルは、使わず、公式サイトから取り直す
- 一致しても、配布サイトが偽物なら、意味がない。サイトの確認と、デジタル署名もあわせて見る
関連記事:7-Zip(7zip)の使い方、7-Zipがv26.05に更新、パスワードのハッシュ化とは、URLとは?偽サイトのURLの特徴