JAVA 中MD5加密取32位小写
时间: 2024-09-28 18:14:06 浏览: 45
在Java中,MD5是一种广泛使用的哈希算法,用于创建消息摘要,通常生成的是128位(16字节)的哈希值。如果你想获取MD5加密后的32位小写字母字符串,可以先将整个哈希值转换为十六进制字符串,然后截取前8位作为32位的结果。以下是一个简单的示例:
```java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Example {
private static final String HEX_CHARS = "0123456789abcdef";
public static void main(String[] args) {
try {
String originalText = "your input text";
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] digestBytes = md.digest(originalText.getBytes());
StringBuilder hexString = new StringBuilder();
for (byte b : digestBytes) {
int v = b & 0xff;
hexString.append(HEX_CHARS.charAt((v >> 4) & 0xf));
hexString.append(HEX_CHARS.charAt(v & 0xf));
}
String shortHash = hexString.substring(0, 8).toLowerCase(); // 获取前8位
System.out.println(shortHash);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
}
```
这个例子中,`shortHash`变量将包含MD5哈希值的32位小写形式。
阅读全文