package com.sxit.dreamiya.md5;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* 对外提供getMD5(String)方法
*
* @author randyjia
*
*/
public class MD5 {
public static int BIT32 = 32;
public static int BIT16 = 16;
public static String value(String plainText, int digit) {
String res = "";
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));
}
switch (digit) {
case 16:
res = buf.toString().substring(8, 24);
break;
case 32:
res = buf.toString();
break;
default:
break;
}
// System.out.println("result: " + buf.toString());// 32位的加密
// System.out.println("result: " + buf.toString().substring(8, 24));// 16位的加密
return buf.toString();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "";
}
}
// public static void main(String[] args) {
// String str = MD5.value("12345678", 32);
// System.out.println(str);
//
// }
}