62,614
社区成员
发帖
与我相关
我的任务
分享
//密码加密,加密算法为MD5
try
{
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(pass.trim().getBytes("UTF-8")); //pass为用户注册时输入的代码
byte[] passByte = messageDigest.digest();
pass = passByte.toString(); //将加密后的密文转成字符串赋给pass,最后传到数据库的是pass
}
catch (NoSuchAlgorithmException ex)
{
Logger.getLogger(LoginClass.class.getName()).log(Level.SEVERE, null, ex);
return 0;
}
catch (UnsupportedEncodingException ex)
{
Logger.getLogger(LoginClass.class.getName()).log(Level.SEVERE, null, ex);
return 0;
}
MessageDigest messageDigest;
try
{
messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(passwork.getBytes("UTF-8")); //将用户输入的密码进行MD5加密
}
catch (NoSuchAlgorithmException ex)
{
JOptionPane.showMessageDialog(null,ex.getMessage());
return false;
}
catch (UnsupportedEncodingException ex)
{
JOptionPane.showMessageDialog(null,ex.getMessage());
return false;
}
byte[] passByte = messageDigest.digest(); //对用户输入的密码摘要进行最后更新,然后完成摘要计算
byte[] dbPass = listUser.get(0).getPasswork().getBytes(); //获取数据库中存储的加密过的密码
if(MessageDigest.isEqual(passByte, dbPass))//密码摘要检测,此前曾经也直接拿字符串来对比,失败
{
count = 0;
return true;
}
else
{
JOptionPane.showMessageDialog(null, "用户名或者密码错误!");
count++;
return false;
}