WindowsでSHA-256を使用してファイルの整合性をチェックする

Windows 内のファイルが既知の正常なコピーと一致するかどうかを確認するには、そのファイルの SHA-256 ハッシュを計算し、その結果をファイルの発行元が公開している値と比較します。Windows には PowerShell のGet-FileHashコマンドレットとcertutilコマンドが含まれているため、サードパーティ製のチェックサムユーティリティは必要ありません。ハッシュ値自体は単なる指紋であり、信頼できる参照値がある場合にのみ一致を確認できます。

ファイルハッシュからわかること

ハッシュとは、ファイルの内容から計算される固定長の値です。ファイル名や拡張子はハッシュ値を決定するものではありませんが、内容を変更すると通常はハッシュ値も変わります。2つのファイルのSHA-256ハッシュ値が同じであれば、実用的なファイルチェックにおいては内容が同じであるとみなされます。ハッシュ値が一致しない場合は、バイト列が異なることを意味しますが、ダウンロードの不完全さ、異なるリリース、ドライブの破損、意図的な変更など、原因を特定することはできません。

ダウンロードする場合、参照元はソフトウェア発行元の公式ページであり、ダウンロードしたファイル、バージョン、アーキテクチャと完全に一致している必要があります。信頼できないミラーサイトからコピーしたチェックサムは、ファイルの真正性を証明するものではありません。発行元がハッシュ値を公開していない場合、ローカルでハッシュ値を計算しても真正性を証明することはできません。

ダウンロードしたファイルをPowerShellでチェックする

  1. 発行元のSHA-256値を調べます。公式ダウンロードページを開き、チェックサムが同じリリースおよびファイル名のものであることを確認します。比較のために、SHA-256値全体をコピーします。
公式ダウンロードページには、Windowsダウンロードフォルダ内のsetup.exeの横にSHA-256フィールドが表示されています。
まず、ダウンロードしたリリース版に対応する発行元のSHA-256値を確認してください。
  1. PowerShellまたはWindowsターミナルを開きます。スタートメニューでPowerShellを検索するか、スタートメニューからターミナルを開いてください。通常のファイルのハッシュ化には標準ユーザーセッションで十分です。管理者権限は必要ありません。
Get-FileHash -LiteralPath "C:\Users\YourName\Downloads\installer.exe" -Algorithm SHA256

サンプルパスをファイルのフルパスに置き換えてください。パスにスペースが含まれている場合は、引用符はそのまま残してください。このコマンドは、アルゴリズム、ハッシュ、およびパスを表示します。PowerShell はデフォルトで SHA-256 を使用しますが、アルゴリズムに名前を付けることで比較が明確になります。Microsoft は、Get-FileHash リファレンスでこのコマンドとサポートされているパラメーターについて説明しています。

Windows PowerShell は、ダウンロード フォルダー内のインストーラーに対して Get-FileHash コマンドを表示します。
検査したいファイルのフルパスを指定して、Get-FileHash コマンドを実行してください。
  1. ハッシュ全体を比較します。出力がSHA256であることを確認し、ハッシュ値の各文字をパブリッシャーのチェックサムと比較します。大文字と小文字は区別されませんが、省略された文字や余分な文字は区別されます。PowerShellに単純な結果を返すように指示することもできます。
$expected = "PASTE_THE_PUBLISHED_SHA256"
$actual = (Get-FileHash -LiteralPath "C:\Users\YourName\Downloads\installer.exe" -Algorithm SHA256).Hash
$actual -eq $expected

結果が の場合は、Trueローカルで計算された値が入力した値と一致します。Falseは、値が異なります。結論を出す前に、正しいチェックサムをコピーし、一致するダウンロードを選択したことを再確認してください。

PowerShellは、比較のために発行元のSHA-256値の横にSHA256の結果を表示します。
ローカルで取得したハッシュ値を、同じファイルに対して公開されているチェックサム値と比較します。
  1. 不一致が発生した場合は、慎重に対応してください。不一致の原因が不明な間は、ファイルを開いたりインストールしたりしないでください。該当のファイルを削除または隔離し、発行元の公式サイトから再度ダウンロードして、チェックを繰り返してください。古いチェックサムと、新しいバージョン、異なる言語、または異なるプロセッサビルドを比較していないことを確認してください。
SHA-256の比較結果が一致した場合は一致とみなされ、不一致の場合は公式ソースから新規ダウンロードが促されます。
不一致とは、ファイルが参照ファイルと異なることを意味します。使用する前に、リリースを確認し、再度ダウンロードしてください。

コマンドプロンプトとCertUtilを使用する

コマンドプロンプトがお好みの場合は、Windowsターミナルまたはコマンドプロンプトウィンドウで以下の組み込みコマンドを実行してください。

certutil -hashfile "C:\Users\YourName\Downloads\installer.exe" SHA256

コマンド出力行の間に表示されるハッシュ値を読み取り、同じ発行元値と比較します。CertUtilの公式ドキュメント-hashfileでは、これはファイルに対して暗号化ハッシュを生成して表示する機能であると説明されています。

MD5、SHA-1、SFVファイルについてはどうでしょうか?

古いダウンロードページではMD5またはSHA-1の値が提供されている場合があり、.sfvファイルには一連のファイルのCRC-32チェックサムが含まれています。これらの形式は、信頼できる元のマニフェストと比較することで、偶発的な転送エラーを検出するのに役立ちます。ただし、ダウンロードが本物であることを確認する安全な方法ではありません。Microsoftは、MD5とSHA-1はもはや攻撃に対して安全とはみなされていないと指摘しています。発行元がSHA-256を提供している場合は、それを使用してください。古いソースがMD5値のみを提供している場合は、信頼性の証明ではなく、限定的な変更チェックとして扱ってください。

Windowsシステムファイルのチェックは別の作業です

Get-FileHash指定した参照情報に基づいてファイルをチェックしますが、Windows システム ファイルに何が含まれているべきかは認識しません。保護された Windows ファイルの場合は、管理者権限で起動した端末からシステム ファイル チェッカーを使用してください。 はsfc /verifyonly修復せずにスキャンを実行し、 はsfc /scannowスキャンして修復を試みます。これらのオプションについては、Microsoft のSFC コマンド リファレンスに記載されています。ダウンロード、アーカイブ、バックアップ、および信頼できるチェックサムを持つその他のファイルには、ハッシュ方式を使用してください。

コメントを残す

FotoSketcherで写真を絵画、スケッチ、漫画に変換

FotoSketcherで写真を絵画、スケッチ、漫画に変換

FotoSketcher Studioを使えば、写真を絵画、鉛筆画、漫画に変換できます。エフェクトの選択方法、プレビューの調整方法、作品の保存方法を学びましょう。

オーディオ識別ツールで音声ファイルを詳細に分析・識別する

オーディオ識別ツールで音声ファイルを詳細に分析・識別する

オーディオ識別子がビットレート、エンコーダー、タグについて何を明らかにするのか、従来のワークフローがどのように機能するのか、そして現在利用可能なツールの中で、ファイルの検査や楽曲の識別に使えるものはどれなのかを学びましょう。

My Photo Index:Windows用オープンソース写真整理ツール

My Photo Index:Windows用オープンソース写真整理ツール

My Photo Indexは、ローカル画像のタグ付け、評価、閲覧を行うための、Windows向けの旧来の写真カタログツールです。その機能、互換性の制限、および現在もサポートされている代替ツールについてご確認ください。

Attribute Changerを使用してファイルとフォルダの属性、日付、時刻を変更する

Attribute Changerを使用してファイルとフォルダの属性、日付、時刻を変更する

Attribute Changerを使用して、Windowsファイルの属性とタイムスタンプを編集したり、JPEG EXIF写真の日付を更新したり、バッチ変更を安全にプレビューしたりする方法を学びましょう。

Windows 10で各モニターに異なる壁紙を設定する方法

Windows 10で各モニターに異なる壁紙を設定する方法

Windows 10の各モニターに個別の壁紙を設定し、ディスプレイを識別し、画像のフィットを調整し、モニターの選択肢が見つからない場合のトラブルシューティングを行います。

pViewer:最小限の画像ビューアとマンガ&コミックリーダー

pViewer:最小限の画像ビューアとマンガ&コミックリーダー

pViewerの機能、写真モードとコミックモードの仕組み、ダウンロードすべきWindows版、そして旧バージョンと改訂版の違いについて学びましょう。

NeoDownloader:パラメータ設定とウェブサイトからの画像の一括ダウンロード

NeoDownloader:パラメータ設定とウェブサイトからの画像の一括ダウンロード

NeoDownloaderプロジェクトの作成方法、クロール範囲の選択方法、画像フィルタと保存先の設定方法、バッチダウンロードの確認方法を学びましょう。

Windows 7および8でホットキーを使って次のデスクトップ背景に切り替える方法

Windows 7および8でホットキーを使って次のデスクトップ背景に切り替える方法

Windows 7または8用のスライドショーを設定し、簡単なVBScriptショートカットを作成して、キーボードショートカットキーを割り当てて次の壁紙に進めるようにします。

XnConvert:エフェクトの適用と画像フォーマットの一括変換

XnConvert:エフェクトの適用と画像フォーマットの一括変換

XnConvertを使えば、エフェクトの適用、写真のリサイズ、画像フォーマットの一括変換が可能です。出力設定の選択、編集内容のプレビュー、オリジナル画像の保護も行えます。

PickMeApp: 保存された設定でWindowsプログラムを転送する

PickMeApp: 保存された設定でWindowsプログラムを転送する

PickMeAppを使って、インストール済みのWindowsアプリケーションを別のPCに移行しましょう。TAPパッケージの仕組み、設定の取得方法、転送できない可能性のある項目について学びます。