システムアーキテクト暗記無料で始める

ハッシュ関数とは?はっしゅかんすう

ハッシュ関数とは、任意長の入力から固定長の値を返す一方向の関数で、同じ入力からは必ず同じ値が得られ、値から入力は戻せない。改ざん検知・重複判定・分散配置のキーには計算が速い関数が向く一方、パスワードの保存では速いことがそのまま弱点になり、計算コストを意図的に高めた専用の関数を選ぶ。

最終更新:2026-10-06

試験情報

システムアーキテクト試験の頻出用語/午前II

システムアーキテクトを最短で暗記・合格する →

背景

利用者のパスワードをそのまま保存していた時代は、データが漏れた瞬間になりすましが成立した。単純にハッシュ化するだけでも復元はできないが、専用ハードで総当たりが回せるため、利用者ごとに異なる値を混ぜ、計算を何万回も繰り返す仕組みが必要になった。同じ関数でも用途によって「速い」が長所にも短所にもなる点が、設計での選択を分ける。

具体例

Gitはファイルとコミットの同一性をハッシュ値で判定しており、速さが直接そのまま利点になる。配布ファイルの完全性検証はSHA-256で足りる。一方で利用者のパスワードはbcryptやArgon2idのように計算コストを調整できる関数を使い、ハードウェアの進歩に合わせてコスト係数を引き上げられるようにしておく。

試験での引っ掛け

暗号化と混同しやすいが、鍵を使わず復元もできないため機密性の対策にはならない。SHA-256でパスワードを保存するのは速すぎて不適切で、逆に大量ファイルの重複判定にbcryptを使えば処理が終わらない。MD5やSHA-1は衝突が実証済みで、改ざん検知の用途には選ばない。

関連用語

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

システムアーキテクトを最短で暗記・合格する →

試験での特徴
  • 分野:午前II
  • 暗号化と混同しやすいが、鍵を使わず復元もできないため機密性の対策にはならない。