ハッシュ関数とは、任意の長さの入力データをもとに、固定長のビット列(ハッシュ値)を出力する関数です。
ハッシュ値はメッセージダイジェスト(MD)とも呼ばれます。

ハッシュ関数は次の性質を持ちます。

・入力データの長さに関係なく、ハッシュ値は必ず固定長。
・入力データが同じであれば常に同じハッシュ値が出力。
・入力データが少しでも異なれば、出力されるハッシュ値は大きく異なる。
・ハッシュ値から入力データを逆算、あるいは推測できない。
・同じハッシュ値が偶発的に生成される可能性は低い。