---
title: "ハッシュ関数の種類とは？SHAとMD5の違いを整理【SG試験】"
description: "SHA-2/SHA-3/MD5などハッシュアルゴリズムの差を理解するため、衝突耐性・用途・非推奨理由を比較し、設問で安全な選択肢を技術根拠付きで選べるようにします。 試験対策として重要語の定義・具体例・よくある誤解をまとめ、短時間で復習できるように整理しています。"
last_modified_at: "2026-06-28"
canonical_url: "https://stemtazoo.github.io/sg/hash-algorithms/"
section: "sg"
---

## まず結論
ハッシュ関数にはSHAやMD5などがあり、**現在はSHA-256などのSHA系が安全とされ、MD5やSHA-1は危殆化している**と判断します。  
SG試験では「どれが安全か」を判断させる問題で問われます。

---

## 直感的な説明
「古い鍵と新しい鍵」の違いです。

- 古い鍵（MD5・SHA-1）  
→ 簡単に開けられる可能性あり  

- 新しい鍵（SHA-256など）  
→ まだ安全  

👉  
**同じハッシュでも安全性に差がある**のがポイントです。

---

## 定義・仕組み
代表的なハッシュ関数は以下です。

### 主なハッシュ関数

| 種類 | 特徴 | 安全性 |
|------|------|--------|
| MD5 | 古い方式・高速 | ❌ 危殆化 |
| SHA-1 | MD5より強いが古い | ❌ 危殆化 |
| SHA-256 | 現在主流 | ⭕ 安全 |
| SHA-512 | SHA-256より長い | ⭕ 安全 |

---

### ポイント
- 数字（256・512）は出力ビット長  
- 長いほど安全性が高い傾向  

---

👉 SG試験では  
**「MD5・SHA-1 → NG」  
「SHA-256 → OK」**  
と判断できるかが重要です。

---

## どんな場面で使う？
### 使う場面
- パスワード保存
- 電子署名の内部処理
- ファイル改ざんチェック

👉 現場では  
**安全なハッシュ関数の選択が重要**

---

### 使うと誤解しやすい場面
- 古い方式でも問題ない  
→ セキュリティ的にはNG

---

## よくある誤解・混同
SG試験でよく出ます。

### ❌ MD5はまだ使える
→ ⭕  
**衝突が見つかっており危殆化**

---

### ❌ SHA-1は安全
→ ⭕  
**現在は非推奨（危殆化）**

---

### ❌ ハッシュは全部同じ
→ ⭕  
**アルゴリズムによって安全性が違う**

---

### ❌ 長さは関係ない
→ ⭕  
**ビット長が長いほど安全性が高い傾向**

---

👉 SG試験では  
**「危殆化しているか」で判断する**のが重要です。

---

## まとめ（試験直前用）
- ハッシュ関数には複数種類がある
- MD5・SHA-1は危殆化 → 使用NG
- SHA-256・SHA-512が主流
- 安全性はアルゴリズムとビット長で判断

👉 判断基準  
**MD5 / SHA-1 → NG  
SHA-256以上 → OK  
危殆化 → 見直し**
