BCrypt password enconder
Aqui codificaremos a nossa senha, pois não é bacana a gente colocar no banco a senha do usuário direto. A ideia é codificá-la para um código hash, gerado a partir da senha.
Use o código abaixo em qualquer classe do spring que tenha a anotação @Configuration.
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}E no service, você pode fazer o seguinte:
@Autowired
private PasswordEncoder passwordEncoder;
public Users createUser(@RequestBody Users userEntity) {
userEntity.setPassword(passwordEncoder.encode(userEntity.getPassword()));
return userRepo.save(userEntity);
}Ou:
@Override
public void run(String... args) throws Exception {
//para gerar o codigo hash
System.out.println(passwordEnconder.enconde("123456"));
//para comparar o codigo hash gerado com a senha
boolean result = passwordEnconder.matches("123456", "insira hash aqui")
}
}Código hash gerado:
Atualizado