Spring框架提供DigestUtils工具类,主要用于生成各种哈希值,如MD5、SHA1、SHA256等。使用DigestUtils可以避免自己手写哈希算法的复杂性。
下面是DigestUtils的常用方法:
md5Digest:生成MD5哈希值。
public static byte[] md5Digest(byte[] data)
md5DigestAsHex:生成MD5哈希值,并以十六进制字符串形式返回。
public static String md5DigestAsHex(byte[] data)
如下为在字符串中添加盐值的例子,使用了Spring框架中的DigestUtils类对字符串进行MD5加密。其中的盐值salt1和salt2是自定义的字符串,用于混淆MD5加密的结果,提高加密的安全性。
import org.springframework.util.DigestUtils;
/**
* @Author
* @Date
* @Description
*/
public class MD5Util {
//盐,用于混交md5
private static String salt1 = "helloasj2j_q";
private static String salt2 = "2slov/2vgw333_gg186";
/**
* 生成md5
* @param str
* @return
*/
public static String getMD5(String str) {
String base = salt2 + str + "/" + salt1;
// System.out.println(base.getBytes());
return DigestUtils.md5DigestAsHex(base.getBytes());
}
public static void main(String[] args) {
String password = "123456";
String md5Password = getMD5(password);
System.out.println(md5Password);
}
}