public static String Md5(String plainText, int length) {
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));
}
if (length == 16) {
return buf.toString().substring(8, 24);// 16位的加密
} else {
return buf.toString();// 32位的加密
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}