方式一:Java自身包实现
/**
* md5加密一(Java自身包实现-32位小写加密)
* @param str
* @return
*/
public static String md5(String str) {
byte[] secretBytes = null;
try {
secretBytes = MessageDigest.getInstance("md5").digest(
str.getBytes());
} catch (Exception e) {
throw new RuntimeException("没有这个md5算法!");
}
String md5code = new BigInteger(1, secretBytes).toString(16);
for (int i = 0; i < 32 - md5code.length(); i++) {
md5code = "0" + md5code;
}
return md5code;
}
方法二:apache提供的加密包commons-codec
需要依赖
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.11</version>
</dependency>
/**
* md5加密二(apache提供了一个加密包commons-codec)
* @param plainText
* @return
*/
public static String md52(String plainText) {
try {
// md5加密方法使用规则
return DigestUtils.md5Hex(plainText.getBytes("UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
}
方法三:hutool包提供的MD5加密
需要依赖hutool相关依赖
使用方法
SecureUtil.md5(str)实现
总结:三种方法的结果是一致的,实际中根据不同的项目情况选择不同的方法使用。
文章出处登录后可见!
已经登录?立即刷新