MD5 vs SHA-1
MD5 vs SHA-1 compared — length, speed and security. Both are broken for security; here is what each is still useful for.
MD5 (128-bit) and SHA-1 (160-bit) are both older hash functions that are broken for security — practical collisions exist for both. Neither should be used for signatures or passwords; use SHA-256 instead.
MD5 vs SHA-1 at a glance
| MD5 | SHA-1 | |
|---|---|---|
| Output | 128-bit (32 hex) | 160-bit (40 hex) |
| Speed | Faster | Fast |
| Collisions | Broken | Broken |
| Safe for security? | No | No |
When to use MD5
Use MD5 only for non-security checksums (deduplication, corruption checks).
When to use SHA-1
Use SHA-1 only where a legacy system requires it; prefer SHA-256 for anything new.
Tools for MD5 & SHA-1
MD5ハッシュジェネレーター
テキストやファイル(最大50MB)のMD5ハッシュ(ダイジェスト)をブラウザ内で計算します。結果はHexまたはBase64形式で出力できます。
ツールを開くSHA-1ハッシュジェネレーター
Web Crypto APIを使ってブラウザ上でテキストやファイルのSHA-1ハッシュ(ダイジェスト)を計算します。GitのコミットIDや古いシステムとの互換用途に便利です。
ツールを開くSHA-256ハッシュジェネレーター
Web Crypto APIを使ってブラウザ上でテキストやファイルのSHA-256ハッシュ値を計算します。結果はHexまたはBase64形式で出力できます。
ツールを開くハッシュジェネレーター — 全アルゴリズム対応
MD4、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA3、Keccak-256、CRC-32、NTLMのハッシュ値をテキストやファイルからブラウザ上で直接計算します。
ツールを開くMD5 vs SHA-1
どのアルゴリズムに対応していますか?
MD4、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA3-256、SHA3-384、SHA3-512、Keccak-256(Ethereumで使われる派生版)、CRC-32、NTLMに対応しています。
MD2、MD6、Whirlpoolがないのはなぜですか?
MD2は1996年に非推奨となっており、組み込むのに十分小さく、かつメンテナンスされているJS実装が存在しません。MD6は研究段階の設計にとどまり、実際に実装されたことがありません。Whirlpoolは700行にも及ぶルックアップテーブルが必要ですが、需要があれば追加を検討します。
SHA-256を選んでおけば問題ないですか?
多くの現代的な用途ではそれで十分です — SHA-256は高速で広くサポートされており、安全性も高いとされています。MD系やSHA-1系列とは完全に異なる方式が必要な場合は、SHA3-256やSHA-512を使ってください。パスワードの保存には、単純なハッシュではなくArgon2やbcryptといった専用のKDFを使用してください。
1つのアルゴリズムだけに特化したツールが欲しい場合は?
専用ページもご用意しています。MD5ハッシュジェネレーター、SHA-256ハッシュジェネレーター、SHA-1ハッシュジェネレーター、Keccak-256ハッシュジェネレーターをお試しください。
Keccak-256とSHA3-256の違いは何ですか?
Keccak-256はパディングに変更が加えられていないオリジナル版のKeccakアルゴリズムです。一方SHA3-256はNISTによって標準化されたバージョンで、パディングのバイトが若干異なります。同じ入力でも両者は異なる結果を返します。EthereumはKeccak-256を使用しています(Solidityのkeccak256()関数)。