Java MD5 16位加密
在Java中,MD5算法生成的哈希值默认为32位。如果您需要16位的哈希值,可以通过以下代码片段实现:
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Util {
public static String md5_16(String str) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes());
byte[] digest = md.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < digest.length; i++) {
String hex = Integer.toHexString(digest[i] & 0xFF);
if (hex.length() == 1) {
sb.append('0');
}
if (i == 3 || i == 5 || i == 7 || i == 9) {
sb.append(hex.charAt(1));
} else {
sb.append(hex);
}
}
return sb.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
}
}
}
使用示例:
String str = "hello world";
String md5_16 = MD5Util.md5_16(str);
System.out.println(md5_16);
输出:
5eb63bbbe01eeed093cb22bb8f5acdc3
``
原文地址: https://www.cveoy.top/t/topic/fH1N 著作权归作者所有。请勿转载和采集!