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