package com...;import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public class MD5 {
private static Log log = LogFactory.getLog(MD5.class); private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" }; /**
 * 转换字节数组为16进制字串
 * 
 * @param b
 *            字节数组
 * @return 16进制字串
 */ private static String byteArrayToHexString(byte[] b) {
StringBuffer buf = new StringBuffer();
for (int i = 0; i < b.length; i++) {
buf.append(byteToHexString(b[i]));
}
return buf.toString();
} private static String byteToHexString(byte b) { return hexDigits[(b & 0xf0) >> 4] + hexDigits[b & 0x0f];
} public static String MD5Encode(String origin) {
String resultString = null; resultString = new String(origin);
try {
MessageDigest md = MessageDigest.getInstance("MD5");
resultString = byteArrayToHexString(md.digest(resultString
.getBytes()));
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return resultString;
}
// public static void main(String[] args) {
// System.err.println(MD5.MD5Encode("a"));
// //0cc175b9c0f1b6a831c399e269772661
// }
}