Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Senha com Sha256

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!

2 respostas
solução!

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!