10. メッセージダイジェスト
ユーティリティ 10章 メッセージダイジェスト
- 10.1. メッセージダイジェスト
- 10.2. java.security.MessageDigest
- 10.3. ファイルのハッシュ値
10.1. メッセージダイジェスト
「メッセージダイジェスト」とは、一方向ハッシュ関数とも呼ばれ、任意の文字列から固定長の擬似乱数(ハッシュ値)を生成するアルゴリズムのことです。一方向であるため、ハッシュ値からもとの文字列を再現することは非常に難しいものとなっています。また異なる文字列から同じハッシュ値を作成することは極めて困難であるため、ユーザ認証やデータが通信途中で改ざんされていないか調べるのに利用されています。以下はメッセージダイジェストを用いた、ユーザ認証の例です。
一方向であるため、通信途中でIDと暗号文を盗まれても、元のパスワードを復元することができません。またパスワードが解らなければ、毎回異なるチャレンジワードに対応することができません。更に異なるパスワードとチャレンジワードから同じハッシュ値が作成されることは極めて稀であるため、暗号文で認証を行うことができます。