**
工具包
**
/**
* 功能描述:获取指定位数的随机字符串
*
* @param: [n]
* @return: java.lang.String
*/
public static String getRandomStringByNum(Integer n, String randomString) {
if (null == n) {
n = 4;
}
if (is_empty(randomString)) {
randomString = RANDOM_STR_$;
}
StringBuffer sb = new StringBuffer();
char[] chars = randomString.toCharArray();
for (Integer i = 0; i < n; i++) {
char aChar = chars[new Random().nextInt(chars.length)];
sb.append(aChar);
}
return sb.toString();
}
使用
/**
* 功能描述: 使用 md5 + salt 处理 + hash 散列,生成加密密码
*
* @param: [psw, salt]
* @return: java.lang.String
*/
private String getPasswordByMd5(String psw, String salt) {
if (StringUtil.is_empty(salt)) {
salt = StringUtil.getRandomStringByNum(6,"");//获取随机生成的盐
}
String passwordByMd5 = DataMD5Util.md5Str(salt, psw);
return passwordByMd5;
}
示例:比如给会员实体类添加盐
memberEntity.setPassword(getPasswordByMd5(memberEntity.getPassword(),salt));