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!
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!