ハッシュ は、どんな長さのデータでも 決まった長さの値(ハッシュ値)に変換する、元に戻せない一方通行の計算 です。同じ入力からは必ず同じ結果が出る一方、ハッシュ値から元のデータを復元することはできません。
大切な性質が2つあります。
- わずかな違いで結果が激変 … 1文字変えるだけで、まったく別のハッシュ値になる。
- 元に戻せない … 暗号化 と違い、逆算できない。
"password" → 5e884898da...(毎回同じ)
"passward" → 6b3a55e0261...(1文字違うと全く別物)
この性質から、次のような用途に使われます。
- 改ざん検知 … ファイルのハッシュ値を比べ、途中で書き換えられていないか確認する。
- パスワードの保存 … 元のパスワードを保存せず、ハッシュ値だけを持つ。
- 重複チェック・データの目印 … 同じ内容かをハッシュ値で高速に比較する。
「戻せない」ことが弱点ではなく、むしろ安全に役立つ——それがハッシュの面白いところです。