public class PasswordUtil {
/**
* 密码 加密
*
* @param password 密码
* @param salt 干扰码
* @return
*/
public static String password(String password, String salt) {
//String hex = DigestUtil.md5Hex(salt + password + salt);
//return SecureUtil.hmacMd5(password + salt).digestHex(hex);
return SecureUtil.hmacMd5(password + salt).digestHex(salt);
}
/**
* 密码比较
*
* @param password 密码
* @param salt 干扰码
* @param dbPassword 数据库密码
* @return
*/
public static boolean equals(String password, String salt, String dbPassword) {
return StringUtils.equals(password(password, salt), dbPassword);
}
/**
* 密码比较
*
* @param password 密码
* @param salt 干扰码
* @param dbPassword 数据库密码
* @return
*/
public static boolean compare(String password, String salt, String dbPassword) {
return StringUtils.equals(password(password, salt), dbPassword);
}
/**
* 干扰码
*
* @return
*/
public static String randomSalt() {
return StringUtil.randomNanoId(11);
}
/**
* md5
*
* @param str
* @return
*/
public static String md5(String str) {
return SecureUtil.md5(str);
}
}