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