ファイルのチェックサム(ハッシュとも呼ばれます)を作成する場合、基本的には、ファイルをいくつかの高度なアルゴリズムに通して一意の文字列を生成します。MD5、SHA-1、SHA-2、SHA-256、SHA-512など、よく耳にする一般的なアルゴリズムがあります。これを行う主な理由は?ファイルの整合性を検証するため、つまり、ダウンロード中または保存中にファイルが破損または改ざんされていないことを確認するためです。これは非常に簡単で、Windows 11では、組み込みユーティリティやサードパーティ製ツールなど、これらのチェックサムを確認または生成する方法がいくつかあります。特に複数のファイルを処理している場合や、迅速に検証したい場合は、組み込みの方法が使いにくいと感じることがあるため、選択肢があるのは便利です。
暗号ハッシュ関数は、ファイルを受け取り、数学的な処理を施し、固定長の文字列を出力します。ファイルが1MBの写真でも4GBのゲームのダウンロードでも、関係ありません。ちなみに、ピリオドと感嘆符のような、ファイル内のわずかな違いでも、全く異なるチェックサムが生成されます。つまり、チェックサムユーティリティを使ってほぼ同じ2つのファイルを比較すると、わずかな変更でも一致しないことがわかります。これがハッシュ関数の重要な点です。ハッシュ関数は、エラーや悪意のある改ざんを検出するのに役立ちます。
Windows 11でチェックサムをチェックして検証する方法
Certutilで確認する(組み込みメソッド)
これはWindowsに組み込まれているので便利です。CertutilはコマンドラインからMD5、SHA-1、SHA-256などのチェックサムを直接生成できるため、非常に便利です。ファイルをダウンロードして、公開されているチェックサムと一致しているかどうかを確認したい場合は、Certutilを実行すれば可能です。
やり方は次のとおりです:
- コマンドプロンプトを開きます。 を押し、 とWindows + R入力してEnter キーを押します。または、スタートメニューから「コマンドプロンプト」を検索してください。
cmd
- ファイルがあるフォルダに移動します。
cd
に続けてフォルダパスを入力します。例:cd C:\Users\YourName\Downloads
。 - チェックサムを生成するには、コマンドを実行してください。例えば、MD5の場合は次のようにします。filename.extを実際のファイル名に
certutil -hashfile filename.ext MD5
置き換えてください。
例えば、installer.exeをダウンロードして、その MD5 ハッシュを検証したい場合は、次のように入力しますcertutil -hashfile installer.exe MD5
。次に、出力結果を公式のチェックサムと比較し、一致するかどうかを確認します。設定によっては、この方法ですぐに完了する場合もありますが、初回は失敗したり、再起動後に再チェックが必要になる場合もあります。
PowerShellのGet-FileHashを使用する
PowerShellは、正確なコマンドを覚えなくてもチェックサムを生成できる組み込みツールです。PowerShell 5.0以降では、Get-FileHash
より柔軟で最新のコマンドレット「」が利用可能になりました。MD5、SHA-1、SHA-256などをサポートしています。
使用するには:
- スタートボタンを右クリックし、[Windows PowerShell (管理者)]を選択するか、スタート メニューに「PowerShell」と入力して開きます。
- 次のようなコマンドを入力します
Get-FileHash -Path 'C:\Path\To\File.exe' -Algorithm SHA256
。パスとファイル名を適宜置き換えてください。
これにより、ソースコードと比較することで整合性を検証できるチェックサム文字列が生成されます。多くの場合、この方法は複数のファイルやスクリプトのチェックに簡潔で簡単です。なぜうまくいくのかは分かりませんが、バッチ処理ではPowerShellの方がCertutilよりも信頼性が高い場合があります。
よりシンプルかつ視覚的なチェックを可能にするサードパーティ製ツール
コマンドラインが苦手な方には、便利なGUIツールがあります。これらのツールを使えば、エクスプローラーでファイルを右クリックしてハッシュを確認したり、複数のファイルを開いて一度に検証したりすることができます。信頼できるツールをいくつかご紹介します。
- MD5チェッカー
- クイックハッシュ-GUI
- HashMyFiles – NirSoft の小さなポータブル アプリで、CRC32、MD5、SHA-1、SHA-256 などをサポートします。数十のファイルを素早く検証する必要がある場合に適しています。
これらのほとんどはドラッグ&ドロップに対応しており、大量のファイルを扱う場合、パス全体を入力するのはすぐに面倒になってしまうので、非常に便利です。また、チェックサムも並べて表示されるので、ファイルが一致しているかどうかがすぐにわかります。
まとめ
- ターミナルからチェックサムを素早く生成するには、コマンド プロンプトでCertutilを使用します。
- より柔軟でスクリプト化可能な方法として、PowerShell の Get-FileHash を試してください。
- コマンドラインの操作に慣れていない場合は、HashMyFilesやQuickHash-GUIなどの GUI ユーティリティを選択してください。
- ファイル検証では、生成されたチェックサムを必ず公式のチェックサムと比較してください。
チェックサムは、ファイルが改ざんされていないことを確認するための優れた方法です。特に、ISOイメージ、ソフトウェアインストーラー、重要なドキュメントなど、整合性の検証が必要なファイルをダウンロードする場合に役立ちます。もちろん、Windowsは必要以上に検証を難しくすることもあります。しかし、幸いなことに、それを回避する簡単な方法があります。
まとめ
ファイルのチェックサムを検証するのは、一見オタクっぽい手順に思えるかもしれませんが、実際に使ってみると、何度も頭を悩ませる問題を回避できました。ダウンロードの確認、バックアップの確認、あるいは改ざんを心配する時など、これらの方法は非常に効果的です。少し練習すれば、素早く簡単に実行でき、セキュリティも維持できます。未検証のファイルで混乱を招いている方に、少しでもお役に立てれば幸いです。