1 import java.io.IOException; 2 import java.security.MessageDigest; 3 4 public class MD5Digestor { 5 6 public static String getMd5(String content) { 7 try { 8 MessageDigest md = MessageDigest. getInstance("MD5"); 9 byte[] results = md.digest(content.getBytes()); 10 return byteArrayToHexString(results); 11 } catch (Exception e) { 12 e.printStackTrace(); 13 } 14 return null; 15 } 16 17 /** 18 * 轮换字节数组为十六进制字符串 19 * @param b 字节数组 20 * @return 十六进制字符串 21 */ 22 private static String byteArrayToHexString( byte[] b) { 23 StringBuffer resultSb = new StringBuffer(); 24 for (int i = 0; i < b. length; i++) { 25 resultSb.append( byteToHexString(b[i])); 26 } 27 return resultSb.toString(); 28 } 29 30 /** 31 * 将一个字节转化成十六进制形式的字符串 32 */ 33 private static String byteToHexString( byte b) { 34 System.out.println(b); 35 int n = b; 36 if (n < 0) { 37 n = 256 + n; 38 } 39 int d1 = n / 16; 40 int d2 = n % 16; 41 return HEXDIGITS[d1] + HEXDIGITS[d2]; 42 } 43 44 private static final String[] HEXDIGITS = { "0", "1", "2", "3", "4" , "5" , "6" , "7" , "8" , "9" , 45 "A", "B", "C", "D", "E", "F" }; 46 47 public static void main (String[] args) throws IOException { 48 String mKey = "DcdOplConfig.getInstance().getClientVersion()" 49 + "DcdOplConfig.getInstance().getPassword()" ; 50 System. out.println( getMd5(mKey)); 51 } 52 53 }