51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Java中的MD5加密实现

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

一、MD5加密基础实现 {#title-1}

首先我们需要先创建一个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<="" catch="" e)="" hex="Integer.toHexString(0xff" hexstring.append('0');="" hexstring.append(hex);="" hexstring.tostring();="" if(hex.length()="1)" messagedigest[i]);="" new="" pre="" return="" runtimeexception(e);="" string="" throw="" {="" }="">


  
二、使用BigInteger进行MD5加密 {#title-2}
--------------------------------



  
我们也可以利用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加密 {#title-3}
---------------------------



  
在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加密的几种方法,你可以选择最适合你的方式来使用。
赞(6)
未经允许不得转载:工具盒子 » Java中的MD5加密实现