Estou com um banco de dados que ainda utiliza Sha256. Como eu faço o spring verificar Sha256 ao invés de BCrypt? Ainda é na forma hexadecimal! To tentando solucionar há dias! Obrigado!
Estou com um banco de dados que ainda utiliza Sha256. Como eu faço o spring verificar Sha256 ao invés de BCrypt? Ainda é na forma hexadecimal! To tentando solucionar há dias! Obrigado!
Oi Tarcisio,
O Spring Security não possui um tratamento para senhas em SHA256, infelizmente.
Mas ele é flexível e te permite criar o seu próprio encoding de senhas customizado, o qual você pode definir então o encoding para SHA256:
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(autenticacaoService).passwordEncoder(new MeuPasswordEncoder());
}
public class MeuPasswordEncoder implements PasswordEncoder {
public String encode(CharSequence senhaAberta) {
//sua logica para fazer encoding da senha
}
public boolean matches(CharSequence senhaAberta, String senhaEncoded) {
//sua logica para comparar as senhas e dizer se sao iguais
}
}
Nessa classe anterior você pode utilizar alguma biblioteca que faz encoding de SHA256, ao invés de implementar do zero.
Bons estudos!
Muito obrigado, Rodrigo! Consegui utilizando uma lib externa!