MD5チェックサム
MD5から戻ってくる値だよ
加算方式のチェックサムとは関係ないよ
簡単に書くよ
MD5チェックサム(読:エムディー5チェックサム 英:MD5 checksum)とは
ハッシュ関数
(入力されたデータをもとにして作った適当な値を返してくれる関数)のMD5から返ってくる値のこと
です。
専門用語が大丈夫な方は
MD5関数からの戻り値
(プログラムや関数から出てくる値)のこと
と理解してください。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「ハッシュ関数」と「MD5」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
ハッシュ関数は「入力に対応する適当な値(適当に見える値)を返してくれる関数」です。
例えば、ハッシュ関数に「愛媛みかん」を入れると「3」が返ってくるとしましょう。
同じように「青森りんご」を入れると「4」が返ってきます。
「栃木苺」を入れた場合は「5」が返ってきます。
ハッシュ関数は同じ物を入れれば必ず同じ値が返ってきます。
「愛媛みかん」を入れた場合に返ってくるのは、必ず「3」です。
何回入れても「3」が返ってきます。
「4」が返ってくることは ありません。
このような関数がハッシュ関数です。
ハッシュ関数には
1.適当な値が返ってくる
2.同じ入力に対しては同じ値が返ってくる
という特徴があります。
※話を単純化するために「適当な値」という表現を使っていますが、実際には適当では ありません。入力されたデータを「特定のルールに沿って」ぐちゃぐちゃにした値が返ってきます。
さて、そんなハッシュ関数ですが、世の中に1つしかないわけでは ありません。
いろいろ あります。
例えば、返してくれる値(適当な値)の作り方が違ったりですね。
あるいは、返してくれる値の桁数が違ったりですね。
一口に「ハッシュ関数」と言っても、いくつかの種類があるのです。
MD5は、そんな、いろいろあるハッシュ関数の中のひとつです。
MD5に対して何かを渡すと、適当な値が返ってきます。
以上が予備知識です。
ここまで踏まえて、MD5から返ってくる適当な値が「MD5チェックサム」です。
注意点として「MD5」+「チェックサム」で「MD5チェックサム」……ではありません。
単に「チェックサム」と言った場合、一般的には、送るデータを全部足した値をくっつけてやるチェック方法を指します。
簡略化して説明しますが、例えば
1234
というデータを送るときに「1+2+3+4」の計算結果である
10
も一緒に送ってやるチェック方法です。
※この値自体を「チェックサム」と呼ぶこともあります。
受け取り側は自分で「1+2+3+4」を計算してみます。
その結果「10」になれば「うん、途中で壊れたり変更されていないね」と判断できる理屈です。
これがチェックサムの仕組みですが、MD5チェックサムとチェックサムの仕組みは関係ありません。
役割は似ていますけどね。
そのため、MD5チェックサムを「MD5」+「チェックサム」で理解すると、どこかで詰まる可能性があります。
素直に「MD5チェックサム」一塊で「MD5から返ってくる値」と理解してください。
一言でまとめるよ
まぁ「MD5チェックサム」って単語が出てきたら「MD5から返ってくる値なんだな~」と お考えください。
おまけ
■訳してみるよ
「MD5」は「Message Digest Algorithm 5(メッセージ・ダイジェスト・アルゴリズム・ファイブ)」の略です。
「message(メッセージ)」の意味は「伝言」とか「伝達」とか「連絡」とかです。
「digest(ダイジェスト)」の意味は「要約」とか「要約する」とかです。
「algorithm(アルゴリズム)」の意味は「算法」とか「演算法」とかです。
「問題を解くための一連の手順」のような意味みたいですね。
「5」は数字ですね。
「check(チェック)」の意味は「調べる」とか「確かめる」とかです。
「sum(サム)」の意味は「合計」とか「総量」とか「金額」とかです。
何となく くっつけると
伝言要約手順5の合計を調べる
となります。






