Digest
ダイジェストはメッセージ全体からハッシュ関数によって生成された小さな値です。理想的にはダイジェストは即座に計算でき、不可逆であり、予測不可能なため、メッセージが改ざんされたかどうかの判定に利用することができます。
ダイジェストを使用して、下記のようないくつかのタスクを実行できます:
- 非暗号化アプリケーション(例えば、ハッシュテーブルのインデックス、重複データの検出やファイルの一意な識別に使用されるフィンガープリントなど)
- メッセージの整合性の検証(改ざんされたメッセージは異なるハッシュ値を持ちます)
- パスワードを解読されないようにしつつも、チェックできるように保存できます(これをより安全に行うためには、パスワードに salt を付与する必要もあります)。
- 擬似乱数の生成
- 暗号鍵の生成
衝突や予測可能性を避けるために、ユースケースに適したハッシュ関数を選択することが重要です。