メインコンテンツへスキップ

用語比較

ハッシュと暗号化の違い

ハッシュは一方向で元に戻せない、暗号化は鍵があれば元に戻せる。パスワードはハッシュ、機密データは暗号化、というのが基本。

難易度
初級
想定読者
開発者・情報処理試験受験者・初心者
所要時間
約7分
ハッシュと暗号化の違いを実務で比較する判断ボードの図

ハッシュ関数とは

任意長の入力から固定長の出力を計算する一方向関数。SHA-256, BLAKE3 などが代表例。

暗号化とは

鍵を使って元データを復元可能な形に変換する処理。AES, RSA などが代表例。

違いの比較表

比較軸 ハッシュ関数 暗号化
可逆性 不可逆(元データを取り戻せない) 鍵があれば復号可能
主用途 改ざん検知、パスワード保存、署名対象 データ機密性の保護
不要(HMACなら鍵あり) 必須
誤用例 パスワードのMD5/SHA-1単独保存 パスワードをそのまま暗号化して保存

使い分け

  • パスワード保存は bcrypt / scrypt / argon2 のような遅いハッシュを使う
  • ファイル改ざん検知には SHA-256 などのハッシュを使う
  • 機密データのDB保存は AES-GCM 等で暗号化する

よくある誤解

  • ハッシュ化したから元に戻せない、はソルトなし時には総当たりされる
  • パスワードを暗号化して保存すれば安全、というのは誤り
  • MD5/SHA-1で十分、というのは現在では不適切

よくある質問

ハッシュ関数と暗号化の違いは?

ハッシュは一方向で元に戻せない、暗号化は鍵があれば元に戻せる。パスワードはハッシュ、機密データは暗号化、というのが基本。

ハッシュ関数とは?

任意長の入力から固定長の出力を計算する一方向関数。SHA-256, BLAKE3 などが代表例。

暗号化とは?

鍵を使って元データを復元可能な形に変換する処理。AES, RSA などが代表例。

ハッシュ関数と暗号化はどう使い分ける?

パスワード保存は bcrypt / scrypt / argon2 のような遅いハッシュを使う ファイル改ざん検知には SHA-256 などのハッシュを使う 機密データのDB保存は AES-GCM 等で暗号化する

ハッシュ関数と暗号化でよくある誤解は?

ハッシュ化したから元に戻せない、はソルトなし時には総当たりされる パスワードを暗号化して保存すれば安全、というのは誤り MD5/SHA-1で十分、というのは現在では不適切

関連用語・次に読むページ

ESC