ハッシュ関数
ハッシュ関数とは、どんな長さのデータからも、決まった長さの短い値を計算する仕組みのことです。 その値をハッシュ値と呼びます。
別表記:ハッシュ関数/ハッシュ値/要約関数/Hash Function
3つの性質
元に戻せません。 ハッシュ値から元のデータを復元することはできません。
わずかな違いで、まったく違う値になります。 1文字変えただけで、まるで別の値が出ます。
同じ値になるデータを作るのが困難です。 別の内容で同じハッシュ値を意図的に作り出すことは、現実的にできません。
何に使われるのか
データが書き換えられていないかの確認です。あらかじめ計算しておいた値と、いま計算した値を比べれば、途中で変わったかどうかが分かります。
電子署名の内部でも使われています。長いデータをそのまま署名するのではなく、ハッシュ値に対して署名する形が一般的です。
よくある誤解:ハッシュ値にすれば個人情報ではなくなるのか
「個人情報そのものではなくハッシュ値だけを記録すれば安全」という説明を見かけますが、そう言い切れません。
他の情報と照合することで個人を特定できる状態であれば、その記録が個人情報に該当しうるという議論があります。とくに、取りうる値の範囲が限られている情報の場合、総当たりで元の値を突き止められることがあります。
安全とみなすには、慎重な検討が必要です。
