1
0

MD5Util.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.kmall.common.utils.wechat;
  2. import java.security.MessageDigest;
  3. /**
  4. * MD5加密工具
  5. *
  6. * @author huangyaqin
  7. * @version 1.0
  8. * 2018-11-01 14:56
  9. */
  10. public class MD5Util {
  11. private static String byteArrayToHexString(byte b[]) {
  12. StringBuffer resultSb = new StringBuffer();
  13. for (int i = 0; i < b.length; i++)
  14. resultSb.append(byteToHexString(b[i]));
  15. return resultSb.toString();
  16. }
  17. private static String byteToHexString(byte b) {
  18. int n = b;
  19. if (n < 0)
  20. n += 256;
  21. int d1 = n / 16;
  22. int d2 = n % 16;
  23. return hexDigits[d1] + hexDigits[d2];
  24. }
  25. public static String MD5Encode(String origin, String charsetname) {
  26. String resultString = null;
  27. try {
  28. resultString = new String(origin);
  29. MessageDigest md = MessageDigest.getInstance("MD5");
  30. if (charsetname == null || "".equals(charsetname))
  31. resultString = byteArrayToHexString(md.digest(resultString
  32. .getBytes()));
  33. else
  34. resultString = byteArrayToHexString(md.digest(resultString
  35. .getBytes(charsetname)));
  36. } catch (Exception exception) {
  37. exception.printStackTrace();
  38. }
  39. return resultString;
  40. }
  41. private static final String hexDigits[] = { "0", "1", "2", "3", "4", "5",
  42. "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
  43. }