MDとは Message Digest の略です(Most Dangerous ではありません)。 暗号の仲間、と言えなくもないのですが、実際にはこのMD5 の値から元のファ イルを作れない(復号化出来ない)ので特殊な使いみちで使われます。 もしあなたの手元にMD5 を計算(出てくるのは16進の数字です) するプログラム(md5 とか md5sum とかいう名前のことが多いです)あったら、ちょっと実験してみましょう。
まず、適当な文字列をmd5してみてください。例えば、
aaaaa → 594f803b380a41396ed63dca39503542
では、それの最後の文字を削ってみましょう。
aaaa → 74b87337454200d4d33f80c4663dc5e5
1文字増やすと、
aaaaaa → 0b4e7a0e5fe84ad35fb5f95b9ceeac79
途中の1文字を変えてみると、
aaaab → 11649b4394d09e4aba132ad49bd1e7db
aaaba → 01b4c32db5e1e8145ec63cb3f9ee015e
aabaa → 86c9cf00e87196f0207f3590d5fcffd3
abaaa → 23beae8fe6d02dc5878460273f17db3b
baaaa → f73fcb49a98507a304ec68cf5ea21b9a
このように、1文字変更したり追加、削除しても全く違った値になります。 そのため、自分の持ってるファイル全てのmd5 を計算してどこかに保存しておき、 次にそのファイルを使うときにmd5 を計算して同じにならなければ、その間に誰かによってそのファイルが改変された、ということがわかります(md5 の値は128ビットと決まっているので、大きなファイルそのものをもう1つ保存して比較するより便利です)。 これは特にプログラムなどで有効でしょう(ウィルスが入ればファイルが改変されるのでmd5 の値も変わるでしょう)。
APOP でも md5 を使っていますが、これは時間とパスワードを繋いだ文字列に対して md5 をかけるため、時間が変わればmd5 の値も前とは全く違うものになり、結局他人にその文字列をみられても他人がそのパスワードを使うことが出来ない、というところがメリットなわけです。