java字符串做md5加密
方法一:使用java.security包的MessageDigest类
代码:
public static void main(String[] args) throws NoSuchAlgorithmException {
String in = "酒红色"; // 要加密的字符串
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] messageDigest = md.digest(in.getBytes(StandardCharsets.UTF_8));
StringBuilder hexString = new StringBuilder();
for (byte b : messageDigest) {
String hex = Integer.toHexString(0xFF & b);
if (hex.length() == 1) {
hexString.append('0');
}
hexString.append(hex);
}
System.out.println("MD5加密结果为:" + hexString);
}
执行结果:
MD5加密结果为:ff645c3a644136ab4b5c9c0a8bd138ac
Process finished with exit code 0
方法二:使用commons-codec包的DigestUtils工具类
<!--添加依赖-->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
public static void main(String[] args) throws NoSuchAlgorithmException {
String in = "酒红色"; // 要加密的字符串
System.out.println("MD5加密结果为:" + DigestUtils.md5Hex(in));
}
执行结果:
MD5加密结果为:ff645c3a644136ab4b5c9c0a8bd138ac
Process finished with exit code 0
提示:为了增加加密的安全性,还可以使用随机生成的盐值与原始字符串进行组合。这样可以增加密码的复杂度,并防止彩虹表攻击。