ハッシュ化とは

概要

ハッシュ化とは、データを一定の規則に従って固定長の文字列(ハッシュ値)に変換する処理のことです。
暗号学的手法を用いる場合が多く、同じ入力からは必ず同じハッシュ値が得られますが、
逆にハッシュ値から元のデータを復元することは基本的にできません。
パスワードの保存やデータの整合性確認などで広く利用されています。

正式名称

Hashing(ハッシング)

略称

特になし

特徴

  • 入力が同じなら出力(ハッシュ値)も必ず同じになる
  • 出力は固定長(例:SHA-256 は 64 文字の16進数)
  • わずかな入力の違いでも全く異なる値が出力される(雪崩効果)
  • 元のデータに戻せない(不可逆性)
  • 衝突(異なる入力が同じハッシュ値になる現象)は起こりうるが、確率は極めて低い
  • セキュリティ分野だけでなく、検索・データ検証・分散処理など幅広い用途で使われる

具体例

  • パスワード保存
    • ユーザーが入力したパスワードをそのまま保存せず、ハッシュ化してデータベースに保存。
      ログイン時は入力を同じ関数でハッシュ化し、保存済みの値と比較して認証する。
  • データ整合性の確認
    • ファイルのハッシュ値(MD5やSHA-256)を比較することで、改ざんや破損がないかをチェックできる。
  • ブロックチェーン
    • 取引データをまとめたブロックの識別にハッシュが利用され、データ改ざんを困難にしている。

関連用語

用語解説
暗号化ハッシュ化とは異なり、元のデータを復号できる
ソルト(Salt)パスワードハッシュに付加するランダムな値。
総当たり攻撃(レインボーテーブル攻撃)対策
SHA(Secure Hash Algorithm)代表的なハッシュ関数
MD5古くからあるハッシュ関数。
現在はセキュリティ用途では非推奨
雪崩効果入力の一部が変わると出力が大きく変化する性質

タイトルとURLをコピーしました