public Long createCerUser(CerUser user) {
CerUser ceruser = this.findCerUserByName(user.getYhm());
if (ceruser != null) user.setId(ceruser.getId());
user.setMm(createEncryptPSW(user.getMm().trim()));
this.getHibernateTemplate().saveOrUpdate(user);
return user.getId();
}
加密算法:
private String createEncryptPSW(String psw) {
MessageDigest messagedigest;
try {
messagedigest = MessageDigest.getInstance("MD5");
messagedigest.update(psw.getBytes("UTF8"));
byte abyte0[] = messagedigest.digest();
return (new BASE64Encoder()).encode(abyte0);
} catch (Exception e) {
throw new RuntimeException("加密失败:" + e.getMessage());
}
}
登录判断:
public Long userCer(String userName, String password) {
TempUser user = this.findTempUserByName(userName);
if (null == user) return 0L;
boolean flag = createEncryptPSW(password.trim()).equals(user.getMm());
if (flag) return user.getId();
return 0L;
}
登录时不是解密,而是与加密输入的密码比较