java md5加密中文
时间: 2023-11-21 07:54:18 浏览: 60
Java中可以使用MessageDigest类进行MD5加密,包括中文。具体步骤如下:
1. 将需要加密的字符串转换为字节数组,可以使用getBytes()方法。
2. 获取MessageDigest实例,可以使用getInstance("MD5")方法。
3. 将字节数组传入MessageDigest实例的update()方法。
4. 调用digest()方法获取加密后的字节数组。
5. 将字节数组转换为十六进制字符串,可以使用BigInteger类的toString()方法。
示例代码如下(假设需要加密的字符串为"hello world"):
```java
import java.math.BigInteger;
import java.security.MessageDigest;
public class MD5Util {
public static String md5(String input) {
try {
// 将字符串转换为字节数组
byte[] inputBytes = input.getBytes("UTF-8");
// 获取MessageDigest实例
MessageDigest md = MessageDigest.getInstance("MD5");
// 将字节数组传入MessageDigest实例的update()方法
md.update(inputBytes);
// 调用digest()方法获取加密后的字节数组
byte[] digestBytes = md.digest();
// 将字节数组转换为十六进制字符串
BigInteger bigInt = new BigInteger(1, digestBytes);
String output = bigInt.toString(16);
// 如果十六进制字符串长度不足32位,前面补0
while (output.length() < 32) {
output = "0" + output;
}
return output;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
String input = "你好,世界!";
String output = MD5Util.md5(input);
System.out.println(output); // 输出:d3d9446802a44259755d38e6d163e820
```