Olá pessoal.
Estou tentando implementar encriptografia no meu sistema, fiz um cadastro e fui testar informando o login e a senha porém não está retornando true na comparação da senha digitada em tela que vem do usuário com a senha que está encriptografada e não sei o motivo, já debuguei e não faz sentido. Alguém conhece esse pacote e saberia me dizer por que não funciona a comparação dele?
String sql = "SELECT email, senha FROM Investidor where email = BINARY ?";
PreparedStatement ps = connection.prepareStatement(sqlConsultaEmail);
ps.setString(1, investidorLogin.getEmail());
ResultSet resultSet = ps.executeQuery();
String senhaCriptografada = null;
while(resultSet.next()) {
senhaCriptografada = resultSet.getString("senha");
}
BasicPasswordEncryptor passwordEncryptor = new BasicPasswordEncryptor();
boolean resultadoSenha = passwordEncryptor.checkPassword(investidorLogin.getSenha(),
senhaCriptografada);
if (!resultadoSenha) {
addMessage("The password is invalid. Please, try again or recover your password.");
investidorLogin
.setInvalidInformation("The password is invalid. Please, try again or recover your password.");
resultSet.close();
ps.close();
return "";
}
Estou usando pacote org.jasypt.util.password.BasicPasswordEncryptor para uso das classes de encriptografia.