Java内置了对MD5加密的支持,我们可以通过java.security.MessageDigest类来进行MD5加密操作。

一、MD5加密基础实现

首先我们需要先创建一个MessageDigest实例,并通过digest方法将字符串转化为字节byte数组,最终得到密文。

 import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5 { public static String getMD5(String input) { try { MessageDigest md = MessageDigest.getInstance("MD5"); byte[] messageDigest = md.digest(input.getBytes()); StringBuffer hexString = new StringBuffer(); for (int i=0;i 

二、使用BigInteger进行MD5加密

我们也可以利用BigInteger类将byte数组转化为16进制字符串,这样的方法比上述方法简洁易懂。

 import java.security.*; import java.math.*; public class MD5 { public static String getMD5(String input) { try { MessageDigest md = MessageDigest.getInstance("MD5"); byte[] messageDigest = md.digest(input.getBytes()); BigInteger number = new BigInteger(1, messageDigest); String hashText = number.toString(16); while (hashText.length() < 32) { hashText = "0" + hashText; } return hashText; } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } } } 

三、Spring框架的MD5加密

在Spring框架中,我们可以利用DigestUtils类,通过其md5DigestAsHex方法轻松实现MD5加密。假定你已经导入了spring框架。

 import org.springframework.util.DigestUtils; public class MD5 { public static String getMD5(String input) { return DigestUtils.md5DigestAsHex(input.getBytes()); } } 

以上就是Java中实现MD5加密的几种方法,你可以选择最适合你的方式来使用。