【Windows】ファイルの「ハッシュ値(SHA-256)」をコマンドで確認し改ざんをチェックする手順

【Windows】ファイルの「ハッシュ値(SHA-256)」をコマンドで確認し改ざんをチェックする手順
🛡️ 超解決

ダウンロードしたソフトウェアや送受信したファイルの安全性を確認したい場面は多いでしょう。

ファイルのハッシュ値(SHA-256)は、ファイルが改ざんされていないか、あるいは破損していないかを検証する重要な情報です。

この記事では、Windows 11およびWindows 10で、コマンドプロンプトとPowerShellを使ってSHA-256ハッシュ値を確認する手順を解説します。

ファイルの改ざんチェックや整合性検証の方法がわかり、より安全にファイルを取り扱えるようになります。

【要点】WindowsでファイルのSHA-256ハッシュ値を確認する主要なコマンド

  • CertUtilコマンド: ファイルのSHA-256ハッシュ値を手軽に確認できます。
  • Get-FileHashコマンドレット: PowerShellでさまざまなハッシュアルゴリズムに対応し確認できます。
  • ハッシュ値比較: 取得したハッシュ値を信頼できる情報と比較し、ファイルの改ざん有無をチェックします。

ADVERTISEMENT

ファイルのハッシュ値(SHA-256)とは?改ざんチェックの重要性

ハッシュ値とは、ファイルの内容から算出される固定長の文字列です。SHA-256は、Secure Hash Algorithm 256ビットの略で、非常に信頼性の高いハッシュアルゴリズムの一つです。

わずかでもファイルの内容が変更されると、ハッシュ値は大きく変わる特性があります。この特性を利用して、ダウンロードしたソフトウェアが配布元と同一であるか、あるいは送受信したファイルが途中で改変されていないかを検証できます。

悪意のある改ざんやファイルの破損から保護するために、ハッシュ値の確認は非常に重要です。Windows環境では、標準のコマンドツールを使って簡単にSHA-256ハッシュ値を取得できます。

これにより、ファイルの整合性を迅速に確認し、セキュリティリスクを低減できます。

コマンドプロンプトとPowerShellでSHA-256ハッシュ値を確認する手順

CertUtilコマンドでハッシュ値を確認する

  1. コマンドプロンプトを起動する
    スタートボタンを右クリックし、「ファイル名を指定して実行」をクリックします。「cmd」と入力しEnterキーを押してください。
  2. ハッシュ値を確認したいファイルのパスをコピーする
    エクスプローラーで対象のファイルがあるフォルダを開きます。ファイルを右クリックし、「パスのコピー」をクリックしてください。Windows 11では、「その他のオプションを表示」の中に「パスのコピー」がある場合があります。
  3. CertUtilコマンドを実行する
    コマンドプロンプトで以下の形式でコマンドを入力し、Enterキーを押します。
    certutil -hashfile "C:\Users\ユーザー名\Documents\sample.zip" SHA256
    「”C:\Users\ユーザー名\Documents\sample.zip”」の部分は、先ほどコピーしたファイルのパスに置き換えてください。
  4. 表示されたハッシュ値を確認する
    コマンドの実行結果として「SHA256 ハッシュ」の後に表示される英数字が、対象ファイルのSHA-256ハッシュ値です。

Windows 10でも同じ手順でCertUtilコマンドを使用できます。

PowerShellのGet-FileHashコマンドレットでハッシュ値を確認する

  1. PowerShellを起動する
    スタートボタンを右クリックし、「ファイル名を指定して実行」をクリックします。「powershell」と入力しEnterキーを押してください。
  2. ハッシュ値を確認したいファイルのパスをコピーする
    エクスプローラーで対象のファイルがあるフォルダを開きます。ファイルを右クリックし、「パスのコピー」をクリックしてください。Windows 11では、「その他のオプションを表示」の中に「パスのコピー」がある場合があります。
  3. Get-FileHashコマンドレットを実行する
    PowerShellで以下の形式でコマンドを入力し、Enterキーを押します。
    Get-FileHash -Path "C:\Users\ユーザー名\Documents\sample.zip" -Algorithm SHA256
    「”C:\Users\ユーザー名\Documents\sample.zip”」の部分は、先ほどコピーしたファイルのパスに置き換えてください。
  4. 表示されたハッシュ値を確認する
    コマンドの実行結果として「Hash」の欄に表示される英数字が、対象ファイルのSHA-256ハッシュ値です。

Windows 10でも同じ手順でGet-FileHashコマンドレットを使用できます。

ハッシュ値確認時の注意点とよくある誤操作

ファイルパスの入力ミスでハッシュ値が取得できない

ファイルパスが正しく入力されていないと、指定されたファイルが見つからないというエラーが発生します。特にパスにスペースが含まれる場合は、パス全体を二重引用符「”」で囲む必要があります。

解決策として、エクスプローラーでファイルを右クリックし、「パスのコピー」機能を使うのが最も確実です。コピーしたパスをそのままコマンドプロンプトやPowerShellに貼り付けてください。

ハッシュアルゴリズムの指定ミス

SHA-256以外のハッシュアルゴリズムを指定してしまうと、期待するハッシュ値が得られません。例えば、SHA1やMD5を指定した場合、結果は異なります。

解決策として、CertUtilコマンドでは「SHA256」を、Get-FileHashコマンドレットでは「-Algorithm SHA256」を正確に指定してください。提供元が指定しているアルゴリズムと合わせることが重要です。

ファイルが編集中やロックされている場合

ハッシュ値を確認したいファイルが別のアプリケーションで開かれている、またはロックされている場合、コマンドがエラーになることがあります。ファイルへのアクセスが拒否されるためです。

解決策として、対象のファイルを閉じ、関連するアプリケーションを終了してから再度コマンドを実行してください。これにより、ファイルへの排他的アクセスが可能になります。

Windows 10とWindows 11での操作の違い

CertUtilコマンドおよびGet-FileHashコマンドレットは、Windows 10とWindows 11の両方で同様に動作します。基本的なコマンドの構文や出力形式に大きな違いはありません。

ただし、エクスプローラーの右クリックメニューの構成がWindows 11で一部変更されています。「パスのコピー」は「その他のオプションを表示」から選択できる場合があります。

ADVERTISEMENT

CertUtilコマンドとGet-FileHashコマンドレットの比較

項目 CertUtilコマンド Get-FileHashコマンドレット
使用環境 コマンドプロンプト、PowerShell PowerShell
主な用途 証明書関連操作、ファイルハッシュ計算 ファイルハッシュ計算に特化
対応アルゴリズム MD5, SHA1, SHA256, SHA384, SHA512 MD5, SHA1, SHA256, SHA384, SHA512, MACTripleDESなど
出力形式 ハッシュ値のみをシンプルに表示 オブジェクト形式でハッシュ値、アルゴリズム、パスなどを表示
スクリプト連携 バッチファイルで利用しやすい PowerShellスクリプトで柔軟な処理が可能

まとめ

この記事では、WindowsでファイルのSHA-256ハッシュ値を確認する二つの主要なコマンド、CertUtilとGet-FileHashの利用方法を解説しました。

これらの手順を実践することで、ダウンロードしたファイルや送受信ファイルの改ざん有無を正確にチェックできます。

ファイルの整合性検証は、セキュリティを確保する上で非常に重要な作業です。

今後、ファイルの配布元が公開するハッシュ値と、自身で取得したハッシュ値を比較し、ファイルの安全性を確認する習慣を身につけてください。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。