Oi gente, se eu criptografar minha senha no banco com base64. Qual o password encoder eu devo usar no configure? BCrypt sempre retorna um erro pra mim.
Oi gente, se eu criptografar minha senha no banco com base64. Qual o password encoder eu devo usar no configure? BCrypt sempre retorna um erro pra mim.
Eu fiz do jeito abaixo pra funcionar, mas não sei se é a melhor opção.
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsServiceImpl).passwordEncoder(NoOpPasswordEncoder.getInstance());
}
Oi Leonardo,
Utilizar o NoOpPasswordEncoder
não é recomendado pelo time do Spring, pois não é seguro e deve ser utilizado apenas para testes.
Qual problema você está tendo com o BCrypt
?
Alternativas ao BCrypt
seriam: Pbkdf2PasswordEncoder
ou SCryptPasswordEncoder
.
Só pra contextualizar. Minha app recebe uma senha String aberta. eu dentro do código converto para base64 (no banco também vai estar base64).
Se eu usar BCrypt da o seguinte erro: Encoded password does not look like BCrypt.
Não soube resolver. :(
Oi Leonardo,
Como você ta fazendo base64 da senha, ao utilizar o BCrypt ele vai detectar que a senha não está no formato correto dele.
Mas tem algum motivo em especial para você utilizar o base64?
Não rola de pegar a senha em texto aberto da aplicação, fazer o encoding via BCrypt e armazenar no banco sem utilizar base64 ?
Oi Rodrigo, desculpa a demora para responder. Conversei com o pessoal e vamos alterar no futuro para bcrypt mesmo. É que é dados legado, por isso eu tava tentando achar uma alternativa com base64. Valeu a ajuda! p/