MD5ハッシュは復号(元に戻すこと)できるか?
セキュリティ MD5 暗号技術
結論
MD5は「ハッシュ化」であり「暗号化」ではないため、復号(元に戻すこと)はできません。一方向(不可逆)の変換です。
ハッシュ化と暗号化の違い
- 暗号化:鍵があれば元に戻せる(可逆)
- ハッシュ化:どうやっても元に戻せない(不可逆)
MD5は入力されたデータがどんなに大きくても、必ず32文字の16進数文字列を出力します。情報が削ぎ落とされているため、逆算は不可能です。
なぜ「復号できた」というツールがあるのか?
「レインボーテーブル」と呼ばれる巨大な辞書データを使った**逆引き(総当たり)**を行っているからです。
例えば password や 123456 といったよく使われるパスワードのMD5値は既にデータベース化されているため、ハッシュ値から元の文字列を「検索」できてしまいます。
これを防ぐためには、パスワードのハッシュ化に「ソルト(Salt)」と呼ばれるランダムな文字列を付与したり、より強力なハッシュアルゴリズム(bcrypt, Argon2など)を使用する必要があります。(現在、MD5はパスワード保存などのセキュリティ用途には非推奨です)
実際にハッシュ化を試してみる
任意の文字列を入力して、MD5ハッシュがどのように生成されるか確認してみましょう。少しでも文字列が変わると、出力結果が全く異なるものになることがわかります。
🔐 この場で文字列をMD5ハッシュ化する
※MD5は暗号学的に弱いため、新規のパスワードハッシュにはSHA-256を使用してください。
MD5