MD5 java 加解密
时间: 2023-09-10 11:15:05 浏览: 46
MD5是一种哈希算法,不是加密算法,它将任意长度的文本转换为固定长度的输出(通常是128位),称为消息摘要。在Java中使用MD5算法可以通过以下步骤实现:
1. 导入java.security.MessageDigest类
```
import java.security.MessageDigest;
```
2. 创建MessageDigest对象
```
MessageDigest md = MessageDigest.getInstance("MD5");
```
3. 传入要计算的字符串,并将其转换为字节数组
```
byte[] message = "要计算的字符串".getBytes();
```
4. 使用update()方法,将字节数组传入MessageDigest对象中进行更新
```
md.update(message);
```
5. 调用digest()方法获得消息摘要的字节数组
```
byte[] digest = md.digest();
```
6. 将字节数组转换为十六进制字符串表示即可
```
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format("%02x", b & 0xff));
}
String result = sb.toString();
```
示例代码:
```
import java.security.MessageDigest;
public class MD5Util {
public static String md5(String message) throws Exception {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] messageBytes = message.getBytes();
md.update(messageBytes);
byte[] digest = md.digest();
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format("%02x", b & 0xff));
}
return sb.toString();
}
public static void main(String[] args) throws Exception {
String message = "Hello World";
String md5 = md5(message);
System.out.println(md5);
// 输出:b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
}
}
```