MD5加密工具类
public class MD5 {
/**
*
* @param str
* @param bit
* @return
*/
private static String crypt(String str, int bit) {
if (str == null || str.length() == 0) {
throw new IllegalArgumentException(
"String to encript cannot be null or zero length");
}
StringBuffer hexString = new StringBuffer();
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes());
byte[] hash = md.digest();
for (int i = 0; i < hash.length; i++) {
if ((0xff & hash[i]) < 0x10) {
hexString.append("0"
+ Integer.toHexString((0xFF & hash[i])));
} else {
hexString.append(Integer.toHexString(0xFF & hash[i]));
}
}
} catch (NoSuchAlgorithmException e) {
}
if (1 == bit) {
return hexString.toString();
} else {
return StringUtils.substring(hexString.toString(), 8, 24);
}
}
/**
* MD5摘要.
*
* @param text
* 摘要文本
* @param bit
* 位数(1:256;2:128)
* @return
*/
public static String encode(String text, int bit) {
return crypt(text, bit);
}
}