/**
* @ClassName:Md5Utils
* @Description:
* @Create: 2021/1/19 18:23
*/
public class Md5Utils {
//参数1:输入明文密码
public static String getMd5Code(String password){
StringBuilder sb = null;
try {
//创建加密对象
//参数1: 算法名字
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
//进行加密 返回加密之后结果也是字节
byte[] digest = messageDigest.digest(password.getBytes());
sb = new StringBuilder();
for (byte b : digest) {
//位运算 //0 0x0 0x1 0x2 0x3 0x4 0x9 10 0xa 15 0xf 16 0x10 170x11
int len = b & 0xff;
if(len<=15){
sb.append("0");
}
sb.append(Integer.toHexString(len));
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return sb.toString();
}
//生成随机的盐
public static String getSalt(int n){
char[] code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".toCharArray();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
sb.append(code[new Random().nextInt(code.length)]);
}
return sb.toString();
}
//测试
public static void main(String[] args) throws NoSuchAlgorithmException {
String salt = getSalt(8);
System.out.println("盐为:"+salt);
String md5Code = getMd5Code("123456");
System.out.println("md5加密后的结果为:"+md5Code);
//测试spring框架封装的Md5
String md5DigestAsHex = DigestUtils.md5DigestAsHex("111111".getBytes());
System.out.println("spring框架封装的Md5的结果为:"+md5DigestAsHex);
}
}
MD5加密工具类
最新推荐文章于 2023-07-20 13:02:27 发布