Springは古いインターフェースを廃止したため
org.springframework.security.crypto.password.PasswordEncoder;
で動作する代替手段を探しました
org.springframework.security.authentication.encoding.PasswordEncoder;
私の検索は私を指しています:https://stackoverflow.com/a/18678325
私は bcrypt をテストしましたが、それがどのように機能するかに興味がありました。
https://stackoverflow.com/a/6833165の説明は、1 つの質問を示しています。
$2a$10$ZaDBCZaI59IMdKuBiRdubuMa2h/itIYIwqLHpS1q245ISD90xsjkW
エンコーディングのタイプやソルトなどに関するすべての情報が含まれており、これがデータベースに保存されている場合、なぜ保存されるのですか? 誰かがこの「ハッシュ」を持っている場合、彼は力ずくで簡単に解読できます。
以前のプロジェクトでは、システム全体のシークレット ソルトを使用して SHA エンコードを使用しました。このシナリオでは、データベースから盗んだハッシュを簡単に解読することはできません。
では、システム全体のソルトを使用した SHA よりも bcrypt が好まれるのはなぜですか?