ガイド
MD5とSHA-256の違いは?
MD5とSHA-256の実務上の違いを理解し、適切なハッシュを選ぶためのガイドです。
どちらも入力を固定長ハッシュに変換しますが、用途は同じではありません。実務では、単純な変更検知か、より強い完全性確認かを切り分けることが重要です。
Quick definition of each algorithm
MD5 outputs a 128-bit hash, usually shown as 32 hex characters.
SHA-256 outputs a 256-bit hash, usually shown as 64 hex characters.
Why SHA-256 is generally preferred now
MD5 is considered cryptographically weak because collisions are practical.
SHA-256 is much harder to break, so it is preferred for modern integrity and security-sensitive workflows.
When teams still use MD5
MD5 can still appear in old systems, mirrors, or compatibility scripts.
It is often used as a quick fingerprint where security is not the primary goal.
- Legacy checksum fields in old tools.
- Fast duplicate detection in internal scripts.
- Backwards compatibility with existing APIs.
Practical rule of thumb
For new projects, pick SHA-256 unless you have a clear compatibility reason not to.
If another system forces MD5, document that decision and treat it as a legacy constraint.
How to compare outputs correctly
Hashes are exact-match values. One character difference means the inputs were different.
Make sure encoding and whitespace are consistent before deciding data changed.
こんなときに便利
- Choosing a hash algorithm for file verification.
- Explaining why older systems still output MD5.
- Documenting team rules for checksum workflows.
- Avoiding weak defaults in new projects.
互換性ならMD5、基本はSHA-256
新規ワークフローではSHA-256を標準にするのが無難です。MD5はレガシー互換が必要な場合に限定しましょう。