はじめに

md5sum**sum 系のコマンドを使用して、ファイルのハッシュ値を確認するということをやってみる。
よくあるのはダウンロードしたファイルのハッシュ値がWebページに記載されていることがある。
これを実際に確認してみよう。

環境

1
2
Windows 10 Professional
WSL2 (Ubuntu 22.04 LTS)

sha256sumを試してみる

適当なファイルを作ってみる。

1
echo "hogehoge" > hoge.txt
1
2
3
sha256sum hoge.txt

678e851755589c2ed8905b10e0e8302a694af7e40ee86abacfa4bddfba859bb1  hoge.txt

さて、これでファイルの内容を少し変えてみる。

1
2
3
4
5
echo "h" >> hoge.txt

cat hoge.txt
hogehoge
h

再度ハッシュ値を確認してみよう。

1
2
3
sha256sum hoge.txt

e4e1694bbc8661d910d4c9740143619d81e85b57c423e7248657aa26ebedaca5  hoge.txt

しっかり変わっている。

Ubuntuのtorrentファイルを確認してみる

下記のページから ubuntu-ja-22.04-desktop-amd64.iso.torrent をダウンロードする。
http://cdimage-u-toyama.ubuntulinux.jp/releases/jammy/

正となる SHA256SUMS は下記になる。 http://cdimage-u-toyama.ubuntulinux.jp/releases/jammy/SHA256SUMS

↓ダウンロードしたものを計算した値

1
2b7b23298a94abac97ca41397a5079acd82d8347c0e0b54ba3a162175d4fc063 *ubuntu-ja-22.04-desktop-amd64.iso.torrent

↓Web上にあるもの

1
2b7b23298a94abac97ca41397a5079acd82d8347c0e0b54ba3a162175d4fc063  ubuntu-ja-22.04-desktop-amd64.iso.torrent

一致していますね!

ファイルの改竄チェックはハッシュ値でするということがどこの技術にもあるので覚えておきたい。

参考

おわりに

ファイルのハッシュ値をチェックするというのは、チェックサムという処理で改ざん検知などをしている。
このあたりは通信技術では特に使われているので覚えておいて損はない。
Git でもファイルのハッシュ値を確認して、変更の有無をチェックしているので重要な技術だなと思う。