次のポイントを想定してみましょう: ハッカーは、ユーザーとパスワード (暗号化) を含むデータベースを盗みます。そしてハッカーは、知っているパスワードで偽のアカウントを作成しました。
MD5 は、短くて人気があり、実質的にパスワードなしのすべてのハッシュ生成が辞書攻撃に弱いため、弱いです。しかし..
ですから、まだ MD5 と SALT を使用しているとしましょう。ハッカーは SALT を知りませんが、特定のユーザーのパスワードは知っています。したがって、次のようにテストできます: ?????12345 ここで、12345 は既知のパスワードであり、????? 塩です。ハッカーは遅かれ早かれ SALT を推測できます。
ただし、MD5+SALT を使用し、MD5 を適用した場合、情報を回復する方法はありません。ただし、繰り返しますが、MD5 はまだ短いです。
たとえば、パスワードが 12345 だとします。SALT は BILLCLINTON です。
md5 : 827ccb0eea8a706c4c34a16891f84e7b
ハッシュ付きの md5: 56adb0f19ac0fb50194c312d49b15378
md5 上のハッシュを持つ mD5 : 28a03c0bc950decdd9ee362907d1798a これらのオンライン サービスを使用しようとしましたが、クラックできるものは見つかりませんでした。そしてその唯一のMD5!(オンラインでmd5を生成したため、今日のようにクラック可能になる可能性があります)
やり過ぎたい場合は、SHA256 にソルトを 2 回適用すれば十分です。
tldr MD5(HASH+MD5(password)) = わかりましたが、短いですが、SHA256 で十分です。