a1e44a0c9ee45e256bd9921d6a76d30e9d5cb3ea.svn-base 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.chinacreator.process.util.fakeid;
  2. import java.security.MessageDigest;
  3. public class MD5 {
  4. private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
  5. "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
  6. /**
  7. * 转换字节数组为16进制字串
  8. *
  9. * @param b
  10. * 字节数组
  11. * @return 16进制字串
  12. */
  13. public static String byteArrayToHexString(byte[] b) {
  14. StringBuffer resultSb = new StringBuffer();
  15. for (int i = 0; i < b.length; i++) {
  16. resultSb.append(byteToHexString(b[i]));
  17. }
  18. return resultSb.toString();
  19. }
  20. private static String byteToHexString(byte b) {
  21. int n = b;
  22. if (n < 0)
  23. n = 256 + n;
  24. int d1 = n / 16;
  25. int d2 = n % 16;
  26. return hexDigits[d1] + hexDigits[d2];
  27. }
  28. public static String MD5Encode(String origin) {
  29. String resultString = null;
  30. try {
  31. resultString = new String(origin);
  32. MessageDigest md = MessageDigest.getInstance("MD5");
  33. resultString = byteArrayToHexString(md.digest(resultString
  34. .getBytes()));
  35. } catch (Exception ex) {
  36. }
  37. return resultString;
  38. }
  39. }