Windowsの「チェックサム」とは?ファイルの同一性を確認するには?

ダウンロードしたファイルの元のファイルとの同一性を確認する方法としてチェックサム(checksum)がある。Windowsでチェックサムを使う方法とはどのようなものだろうか。この記事では、Windowsでチェックサムを確認する方法を解説する。

「チェックサム(checksum)」とは?

インターネット上からファイルをダウンロードした時に、サーバーからクライアントPCへの通信途中にファイルが改ざんされる恐れがある。実際にサーバーからダウンロードしたファイルと元々サーバーに保存されていたファイルが同じファイルかどうかを確認する必要がある時には、チェックサム(checksum)を利用する方法が簡単だ。

この記事では、チェックサムとはどのようなもので、Windowsでダウンロードしたファイルの同一性の確認はどのような方法で行えばいいのか、詳しく解説する。まずは、チェックサムとはどのようなものなのか詳しく見ていこう。

ファイルの編集やダウンロードした時に中身の同一性を確認する

チェックサム(checksum)とは、誤り検出符号のひとつである。誤り検出符号とは、データの送受信やディスクへの書き込みを行う途中で発生するデータの欠落や改変を検知するための符号である。

データを通信回線や電子回路の中で伝送すると、何らかの理由でデータが改変されてしまうことがよくある。この改変は、人為的なものではなく電気的なものであることが多く、完全に防止することは不可能だ。

そこで、元のデータを送信する時に、元のデータの状態の記録を符号として添付して、伝送時の改変をデータの受信側が検出できるようにする。これが誤り検出符号である。

誤り検出符号には、チェックサムの他にパリティ符号、巡回冗長符号などもある。この中でもチェックサムは誤り検知の精度は低いものの、比較的簡単な原理なので実装しやすく、簡易的な誤り検知方法として広く使われている。

チェックサムでは、送信されたデータの列を整数値の列として和を求める。それをある定数で割った余りで誤りを検知する仕組みである。

ダウンロードされる前のファイルの状態と、ダウンロードされた後のファイルでは、見かけ上は違いがまったくわからないこともある。しかし、チェックサムを確認することで、通信途中でデータの改変が行われているかどうかを確認することが可能になる。

チェックサムがまったく同じであれば改変はなくファイルの同一性が保たれていることがわかる。ダウンロード前とダウンロード後のチェックサムのハッシュ値に違いが生じれば、なんらかの改変が起きて同一性が保たれていないことが確認できる。

Windowsでファイルのチェックサムのハッシュ値を確認する方法

Windowsでダウンロードしたファイルのチェックサムのハッシュ値を確認する方法について見ていこう。Windowsでchecksumのハッシュ値を確認する方法には、コマンドプロンプトで確認する方法と、ツールを利用して確認する方法がある。

【方法①】コマンドプロンプトで確認する

コマンドプロンプトを使ってchecksumのハッシュ値を確認する方法である。チェックサムの確認方法はいくつかあるが、今回はファイルのデータから256bitのハッシュ値を算出する「SHA-256」形式を利用する。

コマンドプロンプトでファイルのチェックサムのハッシュ値を確認するためのコマンドは「certuti」を使う。「certutil」コマンドは証明書ファイルの中身を表示するためのコマンドである。

コマンドプロンプトでSHA-256形式でchecksumのハッシュ値を確認するための書式は次のとおりである。

certutil -hashfile <ファイル名> SHA256

実際にこのコマンドプロンプトの書式を使ってチェックサムを確認してみよう。今回は、ダウンロード元のページでSHA-256形式のハッシュ値が公開されていて、チェックサムで同一性の確認が取れる理研で配布しているCentos7のISOファイルをダウンロードしてみよう。

こちらのページから「CentOS-7-x86_64-Minimal-2009.iso」というファイルをダウンロードする。

また、同時に「sha256sum.txt」でダウンロードしたファイルのチェックサムのハッシュ値も確認しておく。ダウンロードしたファイルの場所を確認したら、コマンドプロンプトを起動して、チェックサムを確認するためのコマンドを実行してみよう。

certutil -hashfile F:\CentOS-7-x86_64-Minimal-2009.iso SHA256

ファイルのチェックサムのハッシュ値を確認する方法_コマンドプロンプトで確認する-1

コマンドプロンプトにchecksumを確認するためのコマンドを入力してEnterキーを押す

ファイルのチェックサムのハッシュ値を確認する方法_コマンドプロンプトで確認する-2

コマンドが正常に実行されればチェックサムのハッシュ値が表示される

このハッシュ値を、ダウンロードページに記載されていたハッシュ値と比べてみよう。

元のファイルのチェックサムのハッシュ値
07b94e6b1a0b0260b94c83d6bb76b26bf7a310dc78d7a9c7432809fb9bc6194a

コマンドプロンプトでチェックサムで確認したハッシュ値
07b94e6b1a0b0260b94c83d6bb76b26bf7a310dc78d7a9c7432809fb9bc6194a

まったく同じ値であることが確認できたので、ファイルの同一性は保たれていることがわかる。

【方法②】ツールを利用して確認する

チェックサムの確認方法にはツールを使う方法もある。チェックサムのハッシュ値を確認できるツールはいろいろなものがあるが、今回はコマンドを入力しなくても、ファイルのドラッグ&ドロップもしくは選択だけでハッシュ値を計算できる「HashLister」を使ってみよう。

まずはダウンロードページからインストーラーをダウンロードしよう。

●HashListerダウンロードページは→こちら

ファイルのチェックサムのハッシュ値を確認する方法_ツールを利用して確認する-1

「インストーラー版」をクリックしてダウンロード

ダウンロードしたインストーラーをダブルクリックして実行し、画面に表示される手順に従ってインストールしよう。インストールしたらHashListerを起動してみよう。

起動したら、まずは確認するハッシュ値を選択する。

ファイルのチェックサムのハッシュ値を確認する方法_ツールを利用して確認する-2

確認するチェックサムのハッシュ値を選択する

次にHashListerで確認するファイルを選択する。

ファイルのチェックサムのハッシュ値を確認する方法_ツールを利用して確認する-3

起動したHashListerの画面にチェックサムを確認したいファイルをドラッグ&ドロップする

ドラッグ&ドロップではなくファイルを選択する場合には、メニューバーから「ファイル」>「ファイルを選択」でファイルを指定する。同じフォルダに入っている複数のファイルのチェックサムを確認したい場合には「フォルダを選択」をクリックする。

ファイルをHashListerで選択するとチェックサムが計算される。しばらく待つと結果が表示される。

ファイルのチェックサムのハッシュ値を確認する方法_ツールを利用して確認する-4

チェックサムの結果が表示される

HashListerに表示されたチェックサムの結果は保存できる。保存形式でテキスト形式を選択することもできる。

ファイルのチェックサムのハッシュ値を確認する方法_ツールを利用して確認する-5

保存する場合は「保存」ボタンをクリックする

ファイルのチェックサムのハッシュ値を確認する方法_ツールを利用して確認する-6

保存画面の「ファイルの種類」で「テキストファイル」を選択することもできる

保存するファイル名をつけて、「保存」をクリックすると結果を保存できる。

チェックサムの結果をファイルとして保存するだけでなく、テキストとしてコピーすることもできる。

ファイルのチェックサムのハッシュ値を確認する方法_ツールを利用して確認する-7

コピーする場合は「コピー」ボタンをクリックする

するとチェックサムの結果がテキストとしてクリップボードにコピーされる。

ファイルのチェックサムのハッシュ値を確認する方法_ツールを利用して確認する-8

メモ帳やテキストエディタなどに貼り付けてから確認することもできる

オトナライフ編集部
iPhone・Android・SNS・パソコン関連・キャッシュレス、QRコード決済など、さまざまな情報を独自の視点や切り口で発信するニュースサイト
X/Twitter:@otonalife
YouTube:OTONALIFE Ch

iPhone/Androidスマホやキャッシュレス決済、SNS、アプリに関する情報サイト[オトナライフ]

関連記事

Windowsの「チェックサム」とは?ファイルの同一性を確認するには?のページです。オトナライフは、【スキル・ビジネスWindowschecksum】の最新ニュースをいち早くお届けします。