【发布时间】:2016-01-16 14:55:39
【问题描述】:
我正在使用mysql数据库。
当我使用名称和 ID 从数据库进行验证时,我的代码正在工作。 但是当我使用密码进行验证时,我不能,因为它是散列/加密的。 我希望如果数据库中的密码与 id 匹配,则成功
我的验证按钮: 老师是我的餐桌
try {
String url = "jdbc:mysql://localhost:3306/GradeSystem";
String username = "root";
String password = "";
com.mysql.jdbc.Connection con = (com.mysql.jdbc.Connection) DriverManager.getConnection(url, username, password);
Statement stmt = con.createStatement();
String sql="SELECT * from TEACHER";
ResultSet rs = stmt.executeQuery(sql);
String user=TID.getText();//variable name of my firsttxtfield
String pwd= new String (TPASS.getText());//variable name of my 2nd txtfield
int tmp=0;
while(rs.next()) {
String uname=rs.getString("TID");//TID name in my database
String pssword=rs.getString("TPASS"); //TID name in my database
if ((user.equals(uname)) && (pwd.equals(pssword)))
{
this.dispose();
new TeacherAccount().setVisible(true);
tmp++;
}
}
if (tmp==0) {
JOptionPane.showMessageDialog(null, "Incorrect Password and Username!");
}
}
catch (Exception e){
JOptionPane.showMessageDialog(this, e.getMessage());
}//i know my code is unclean im trying to implement first :)
知道如何解决这个问题或任何其他解决方法来实现相同的解决方案吗?抱歉英语不好。
【问题讨论】:
-
您也必须对给定的密码进行哈希处理,然后进行比较。
-
我用它来插入 mysql:Password.getText() 并检索 Password.getText() = 这有效(密码可见)。但是当我使用插入 Password.getPassword 时,我不能使用 Password.getPassword?如何获取密码?
标签: java mysql validation jtextfield