WindowsでダウンロードファイルのSHA-256を確認し、公式の値と照合する
Windows PowerShellのGet-FileHashでファイルのSHA-256を計算し、信頼できる配布元が示す値と比較します。ファイル名ではなく内容を照合する方法です。一致は比較した値との整合性を示しますが、ウイルス検査や安全性の保証にはなりません。
公開 · 更新 · FaultNote 編集方針
この記事が役立つ人・作業前の準備
- ISOやインストーラーなどのダウンロード結果を確かめたい人
- 外付けへコピーしたファイルの内容が同じか照合したい人
用意するもの
- ダウンロードを完了し、対象ファイルの保存先を確認します。検証のためにファイルを実行する必要はありません。
- 公式配布ページなど信頼できる場所から、同じ版・言語・構成のSHA-256を取得します。
- Windows PowerShellまたはPowerShellを開きます。対象ファイルを読める通常の権限で実行できます。
2台で使うインストーラーの同一性を確かめる
公式配布先から取得したインストーラーを別PCへ外付けで移す例です。最初のPCで対象ファイルのSHA-256を計算し、ファイル名と一緒に記録します。コピー後、2台目でも同じアルゴリズムで計算し、64桁の値を比較します。ファイル名とサイズが同じだけでは内容が一致するとは限らないため、重要な配布物ではこの確認が役立ちます。
公式の比較値がある場合は、元のダウンロードで先にその値と一致することを確認します。コピー前後の一致だけなら、壊れたファイルを同じようにコピーした場合も一致するため、公式値の照合とは意味が違います。公式値がない配布物では、コピーの同一性を確認できても正規配布物の内容であることまで証明したとは書きません。
値を比較するときは途中を省略した表示やスクリーンショットだけを使わず、全桁をコピーします。空白や改行を除き、アルゴリズム名がSHA256であることを確認します。差があれば実行せず、どちらのファイルに違いがあるか、コピーが完了しているか、別版を選んでいないかを調べます。再取得または再コピーした新しいファイルで計算し直します。
- 元のファイル名とSHA-256を記録する
- 公式値があれば先に照合する
- コピー先で同じ方式を計算する
- 全桁を比べ、不一致なら再取得または再コピーする
1. 比較する値の出所を確かめる
計算した値を単に検索して同じ文字列を見つけても、正しい配布物かは判断できません。公式配布元の該当製品・該当ファイルに対応する値を使います。
例としてMicrosoftのWindows 11ダウンロードページには、ダウンロード検証の案内があります。値は製品や言語で変わるため、別の版の値を流用しません。
- ファイル名だけでなく、版、言語、CPU向け構成などが配布ページと一致するか確認します。
- 配布元が示すアルゴリズムがSHA-256か確認し、対応する64桁の16進数を控えます。
2. ファイルのSHA-256を表示する
下のパスは例です。自分の保存場所へ置き換えて実行します。-LiteralPathは角括弧などを含むファイル名も、そのままの名前として扱います。
大きいファイルは読み取りに時間がかかります。途中で同じファイルを書き換えず、結果が返るまで待ちます。
$downloadPath = 'C:\Users\YourName\Downloads\package.zip'
Get-FileHash -LiteralPath $downloadPath -Algorithm SHA256 | Format-List Algorithm, Hash, Path- 以下の$downloadPathを対象ファイルへ変更して実行します。
- AlgorithmがSHA256、Pathが目的のファイルであることを確認します。
3. 公式の値と全体を比較する
先頭や末尾だけではなく全体を照合します。以下の例は、控えたSHA-256を入れる場所を明示し、桁数や文字が違う場合は比較前に停止します。
同じPowerShell画面で実行してください。大文字と小文字だけの違いは、この比較では一致として扱います。
$expectedHash = 'PASTE_THE_64_CHARACTER_SHA256_HERE'
if ($expectedHash -notmatch '^[A-Fa-f0-9]{64}$') {
throw 'Enter the exact 64-character SHA-256 from the trusted publisher.'
}
$actualHash = (Get-FileHash -LiteralPath $downloadPath -Algorithm SHA256 -ErrorAction Stop).Hash
$actualHash -eq $expectedHash- PASTE_THE_64_CHARACTER_SHA256_HEREを、公式の照合値そのものに置き換えます。前後の説明や空白を含めません。
- 結果がTrueなら一致、Falseなら不一致です。エラーが出た場合は、比較が完了したとは判断しません。
4. 不一致なら取り違えを確認する
不一致は内容が比較対象と同じでないことを示しますが、その理由までは示しません。途中のダウンロード、別の版、別の言語、展開済みファイルとの比較などを順に確認します。
- 対象のPathと配布ページを見直し、アルゴリズムと製品の条件を再確認します。
- 正しい公式配布元から改めてダウンロードし、完了後に新しいファイルを照合します。
- 繰り返し一致しない場合は、ファイルを実行せず配布元の更新案内や問い合わせ先を確認します。
5. 一致して分かることを整理する
信頼できない配布元がファイルと照合値を両方差し替えた場合でも、計算結果は一致し得ます。公式の値を確認することと、ハッシュを計算することの両方が必要です。
コピー前後の照合では、同じSHA-256なら内容の一致確認に使えます。一方、元ファイルが安全かを判断する検査とは別です。
- 確認した配布元、ファイル名、版、照合結果を必要に応じて記録します。
- コピーの検証なら、元と先でそれぞれ同じアルゴリズムを使って値を比較します。
- ファイルを使う段階では、配布元や署名、通常のセキュリティ確認も目的に応じて行います。
比較するファイルと公式値を取り違えない
同じ製品でも版、言語、CPUアーキテクチャが違えばハッシュは変わります。公式ページに書かれたファイル名や版を確認し、解凍後のファイルではなく、値が指定されているダウンロード対象そのものを計算します。
例えば.zipのSHA-256なら、展開した.exeの値を比べても一致しません。古いダウンロードが同じフォルダーにある場合は、エクスプローラーで名前、容量、更新時刻を確認してからフルパスを指定します。
- 版と言語とアーキテクチャを確認する
- アーカイブと展開後ファイルを区別する
- 対象のフルパスで計算する
不一致と一致をそれぞれ判断する
不一致なら実行せず、対象ファイルと公式値の組み合わせを再確認します。途中で取得が切れた場合などは公式の配布先から別名で再ダウンロードし、完了後に新しいファイルの値を計算します。大文字と小文字の違いだけは別ハッシュではありません。
一致は、信頼して取得した比較値とファイル内容が一致することを示します。配布元を確認せず、同じ不明なサイトのファイルとハッシュを照合しても正当性の確認にはなりません。ハッシュは署名や配布元の確認と役割が異なります。
- 不一致のファイルを実行しない
- 公式から再取得して新しい値を比べる
- 比較値の取得元も確認する
結果から次の操作を選ぶ
表は横にスクロールできます →
| 状態 | 判断 | 次の確認 |
|---|---|---|
| 公式値と一致 | 比較元の公式値へ一致 | 対象版と取得元も確認 |
| コピー前後だけ一致 | コピー内容が同じ | 正規性の証明とは区別 |
| 不一致 | 内容または比較対象が違う | 実行せず対象と取得を再確認 |
注意点・利用条件
- SHA-256が一致しても、ファイルの目的や実行時の動作が安全だと保証されるわけではありません。
- ファイル名を変えても内容が同じならハッシュは変わりません。展開・再圧縮・編集したファイルは、元の配布物と同じ値になるとは限りません。
- 公式の照合値がない場合、ハッシュだけで配布元の正当性を証明できません。
よくある質問
Trueならウイルスは入っていませんか?
Trueは指定した値と一致したという意味です。ファイルの安全性を判定する検査ではなく、照合値の出所も確認する必要があります。
同じ名前なのにハッシュが違います
名前と内容は別です。版や言語が違う、更新された、編集された、取得が不完全といった可能性を確認します。
コピー後の値だけあればよいですか?
比較相手が必要です。公式値との照合なのか、コピー前後の同一性なのかを決め、対応する元の値を記録します。
値の途中だけ比べてもよいですか?
全桁を比較します。表示が省略されている場合は完全な値を取得し、アルゴリズムと対象ファイルも合わせて確認します。
出典・確認日
情報確認日:。仕様・操作方法・価格などの確認に使用した出典を掲載しています。適用条件や現在の情報は各リンク先で確認してください。
関連する活用ガイド
- SSD・HDDの健康状態を確認する:Windowsのカウンターと交換判断の限界
- 購入ファイルをCSVで一覧化する:作品ID・保存先・原本名で探す
- Windowsの操作をまとめて効率化するPowerToys入門
- EverythingでWindowsのファイル名を高速検索する
- 7-Zipで暗号化7zファイルを作成する
- Syncthingで2台のフォルダーを直接同期する