import java.security.MessageDigest;
public class MD5Util {
public static String toMD5(String str,Integer pattern) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.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));
}
System.out.println("32位: " + buf.toString());
System.out.println("16位: " + buf.toString().substring(8, 24));
if (pattern == 32) {
return buf.toString();
} else {
return buf.toString().substring(8, 24);
}
}catch (Exception e) {
e.printStackTrace();
return "";
}
}
public static void main(String agrs[]) {
String str = MD5Util.toMD5("123456",32);
System.err.println(str);
}
}