Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

BCryptPasswordEncoder gera senhas diferentes

eu estou usando essa classe para gerar minha senha para que eu possa colocá-la no banco de dados, porém toda vez que eu rodo o programa ele gera um hash diferente

public class GeraSenha {

    public static void main(String[] args) {    
        String senhaCriptografado = new BCryptPasswordEncoder().encode("123456");
        System.out.println(senhaCriptografado);
    }
}

É a mesma classe passada na aula.

1 resposta
solução!

Oi Lúcio,

Isso é perfeitamente normal, pois o BCryptPasswordEncoder usa um salt para gerar a senha.

A própria documentação do método encode diz o seguinte: "Encode the raw password. Generally, a good encoding algorithm applies a SHA-1 or greater hash combined with an 8-byte or greater randomly generated salt."

Link interessante para entender o que é um salt em criptografia: https://en.wikipedia.org/wiki/Salt_%28cryptography%29

Abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software