salve!
devo inviare dati a un db MySQL sotto forma di stringhe criptate con SHA1.
ho provato così:
codice:
public boolean login(String name, String pwd) throws ClassNotFoundException, SQLException, NoSuchAlgorithmException {
conn = DBManager.getInstance().takeConnection();
MessageDigest md = MessageDigest.getInstance("SHA1");
byte[] encodeName = name.getBytes();
byte[] encodePwd = pwd.getBytes();
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM user WHERE user_name = ? AND user_pass = ?");
// pstmt.setString(1, name);
// pstmt.setString(2, pwd);
pstmt.setString(1, md.digest(encodeName).toString());
pstmt.setString(2, md.digest(encodePwd).toString());
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
User user = new User();
user.setId(rs.getInt(0));
user.setName(name);
user.setPwd(pwd);
rs.close();
pstmt.close();
return true;
} else {
rs.close();
pstmt.close();
return false;
}
}
se nn uso SHA1 ne qui nel su db tutto funziona bene e riesco a fare il login.
sennò nn riesco e l'autenticazione fallisce.
avete qualche idea?