sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur använder man Spring StandardPasswordEncode och får Salt Generate?

Jag tror du frågar hur det fungerar?? Svaret är ganska enkelt. StandardPasswordEncoder.matches() är metoden du vill använda. Bakom kulisserna, StandardPasswordEncoder kommer att avkoda det hashade lösenordet och extrahera saltet från den resulterande byte-arrayen. Det kommer sedan att använda det saltet för att hasha lösenordet i vanlig text som du skickade in. Om den resulterande hashen matchar den ursprungliga hashen, matchar dina lösenord! Se källan för detaljerna bakom StandardPasswordEncoder.matches() :

public boolean matches(CharSequence rawPassword, String encodedPassword) {
    byte[] digested = decode(encodedPassword);
    byte[] salt = subArray(digested, 0, saltGenerator.getKeyLength());
    return matches(digested, digest(rawPassword, salt));
}


  1. Trädvyskontroll Markera Lägg till Ta bort noder

  2. Hur kan jag göra den här dynamiska uppdateringen i Oracle?

  3. fel:'Kan inte ansluta till lokal MySQL-server via socket '/var/run/mysqld/mysqld.sock' (2)' -- Saknar /var/run/mysqld/mysqld.sock

  4. Mysql select ger fel svar i php