ハッシュ値とは

ハッシュ値(hash code)とは、元のデータに対して、所定の演算処理により求められる値をいう。「メッセージダイジェスト(message digest)」や「フィンガープリント(finger print:指紋)」などと呼ばれ、ハッシュ値を得るための関数は「ハッシュ関数(hash function)」と呼ばれる。

ハッシュ関数によって得られるハッシュ値は、元のデータ長に関わらず、固定のデータ長となる。また、ハッシュ値から元の入力値を再現することはできないという特性がある。

こうした特性を用い、パスワードの保存や、Webサーバーが正しい相手かどうかを認証するサーバー認証などのケースで、データを送受信する途中で改ざんされていないかを調べることなどに活用される。

代表的なハッシュ関数として、SHA-1やSHA-2、MD5などがある。

まれに異なる元データから同一のハッシュ値が得られる可能性があるが、この確率は極めて低いといわれ、実際の運用上では問題ないと考えられてきた。しかし、2017年3月、Googleとオランダの研究機関CWI Instituteの共同研究の結果、SHA-1の衝突発見に初めて成功したことが発表された。

セキュリティ用語辞典一覧ページへ

関連キーワード:

ハッシュ関数

フィンガープリント

メッセージダイジェスト

  • 警告表示からソフトウェアを購入するよう誘導される手口にIPAが注意喚起
  • カテゴリートップへ
  • 2015年1月のIT総括