MD5Util.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package cn.efunbox.manage.base.util;
  2. import java.security.MessageDigest;
  3. public class MD5Util {
  4. private static String byteArrayToHexString(byte b[]) {
  5. StringBuffer resultSb = new StringBuffer();
  6. for (int i = 0; i < b.length; i++)
  7. resultSb.append(byteToHexString(b[i]));
  8. return resultSb.toString();
  9. }
  10. private static String byteToHexString(byte b) {
  11. int n = b;
  12. if (n < 0)
  13. n += 256;
  14. int d1 = n / 16;
  15. int d2 = n % 16;
  16. return hexDigits[d1] + hexDigits[d2];
  17. }
  18. public static String MD5Encode(String origin, String charsetname) {
  19. String resultString = null;
  20. try {
  21. resultString = new String(origin);
  22. MessageDigest md = MessageDigest.getInstance("MD5");
  23. if (charsetname == null || "".equals(charsetname))
  24. resultString = byteArrayToHexString(md.digest(resultString
  25. .getBytes()));
  26. else
  27. resultString = byteArrayToHexString(md.digest(resultString
  28. .getBytes(charsetname)));
  29. } catch (Exception exception) {
  30. }
  31. return resultString;
  32. }
  33. private static final String hexDigits[] = {"0", "1", "2", "3", "4", "5",
  34. "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};
  35. }