PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como usar o Spring StandardPasswordEncode e obter o Salt Generate?


Acho que você está perguntando como funciona?? A resposta é bastante simples. StandardPasswordEncoder.matches() é o método que você deseja usar. Nos bastidores, StandardPasswordEncoder irá decodificar a senha com hash e extrair o sal da matriz de bytes resultante. Ele então usará esse sal para fazer o hash da senha de texto simples que você passou. Se o hash resultante corresponder ao hash original, suas senhas correspondem! Consulte a fonte para obter os detalhes por trás de 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));
}