MD5
ハッシュ関数だよ
128ビットの適当な値が返ってくるよ
「Message Digest Algorithm 5」の略だよ
簡単に書くよ
MD5(読:エムディーファイブ)とは
ハッシュ関数
(入力されたデータをもとにして作った適当な値を返してくれる関数)のひとつ。
もう少し噛み砕いて書くと
入力されたデータをもとにして作った適当な値を返してくれる関数
(処理のまとまり)のひとつ
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「関数」と「ハッシュ関数」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
関数は「何かを入れると何かをやって何かを返してくれる、処理のまとまり」です。
一般的には、入力を受けて処理をやり、その結果として出力があります。
ついでなので書いておくと、関数に入れる値は「引数(ヒキスウ)」と言います。
関数から出てくる値は「戻り値」です。
ちょっと汚い話で恐縮ですが、人間は、ご飯を食べて、ウンチを出します。
人間が関数だと考えてください。
ご飯に相当するものが引数です。
ウンチに相当するものが戻り値になります。
ハッシュ関数は「入力に対応する適当な値(適当に見える値)を返してくれる関数」です。
例えば、ハッシュ関数に「愛媛みかん」を入れると「3」が返ってくるとしましょう。
同じように「青森りんご」を入れると「4」が返ってきます。
「栃木苺」を入れた場合は「5」が返ってきます。
ハッシュ関数は同じ物を入れれば必ず同じ値が返ってきます。
「愛媛みかん」を入れた場合に返ってくるのは、必ず「3」です。
何回入れても「3」が返ってきます。
「4」が返ってくることは ありません。
ハッシュ関数には
1.適当な値が返ってくる
2.同じ入力に対しては同じ値が返ってくる
という特徴があります。
※話を単純化するために「適当な値」という表現を使っていますが、実際には適当では ありません。入力されたデータを「特定のルールに沿って」ぐちゃぐちゃにした値が返ってきます。
さて、このハッシュ関数ですが、世の中に1つしかないわけでは ありません。
いろいろな種類のハッシュ関数があります。
例えば、返してくれる値(適当な値)の作り方が違ったりですね。
あるいは、返してくれる値の桁数が違ったりですね。
一口に「ハッシュ関数」と言っても、いくつかの種類があるのです。
以上を踏まえて
いろいろあるハッシュ関数のひとつ
が「MD5」です。
「Message Digest Algorithm 5(メッセージ・ダイジェスト・アルゴリズム・ファイブ)」の略で「MD5」ね。
気が向いたら、覚えてあげてください。
※「Message Digest Algorithm 5」を何となく日本語にすると「メッセージ要約アルゴリズム5」となります。[詳細]
MD5は、入力に対して128ビットの適当な値を作って返してくれます。
言い換えると
何か入れると長さが128ビットの適当な値を返してくれる関数
がMD5です。
細かく見ていくと、いろいろな特徴がありますけどね。
具体的なことは他のところで勉強してください。
一言でまとめるよ
まぁ「MD5」って単語が出てきたら「ハッシュ関数
(入力されたデータをもとにして作った適当な値を返してくれる関数)(のひとつ)なんだな~」と お考えください。
おまけ
■訳してみるよ
「MD5」は「Message Digest Algorithm 5(メッセージ・ダイジェスト・アルゴリズム・ファイブ)」の略です。
「message(メッセージ)」の意味は「伝言」とか「伝達」とか「連絡」とかです。
「digest(ダイジェスト)」の意味は「要約」とか「要約する」とかです。
「algorithm(アルゴリズム)」の意味は「算法」とか「演算法」とかです。
「問題を解くための一連の手順」のような意味みたいですね。
「5」は数字ですね。
何となく くっつけると
伝言要約手順5
となります。






