Olá Pessoal. Estou querendo recuperar a senha salva no banco de dados (String) e comparar com a senha digitada pelo usuário para validá-lo no sistema. Para salvar a senha no banco utilizo a seguinte linha:
String gravaRegistro = "insert into usuarios values(?, md5(?))";
Porém, para comparar a String salva no banco com a String digitada pelo usuário utilizando o código abaixo, a String gerada é totalmente diferente da que está salva no banco (porém a senha digitada é a mesma).
String senha = JOptionPane.showInputDialog("Digite sua Senha:");
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] hashSenha = md.digest(senha);
JOptionPane.showMessageDialog(null, hashSenha); // Utilizei esse recurso só pra conferir se as senhas eram idênticas
md.reset();
catch (Exception e){
// Tratamento da Exception
}
...
if(hashSenha.equals(con.rs.getString("senha"))
JOptionPane.showMessageDialog(null, "Bem Vindo");
else
JOptionPane.showMessageDialog(null, "Senha Inválida");
O MD5 Gerado pelo PostgreSQL é Diferente do MD5 gerado pelo Java???