package com.test;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Test {
public static void main(String[] args) {
String str = "usertest001";
String md5 = getMd5(str);
System.out.println("result: " + md5);// 32位的加密usertest001 --> 314932a71e551421158f2bdf2efa3340
System.out.println("result: " + md5.substring(8, 24));// 16位的加密usertest001 -->1e551421158f2bdf
}
/**
* 获取字符串的MD5值
* @param plainText
*/
private static String getMd5(String plainText) {
String md5str="";
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
//进行加密处理
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
md5str = buf.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return md5str;
}
}