Md5Utils.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.jkcredit.utils;
  2. import java.security.MessageDigest;
  3. /**
  4. * @description: MD5加密
  5. * @author:
  6. * @create: 2019-05-14 11:05
  7. * @version: V1.0
  8. **/
  9. public class Md5Utils {
  10. /**
  11. * 生成md5,全部大写
  12. * @param message
  13. * @return
  14. */
  15. public static String md5(String message) {
  16. try {
  17. // 1 创建提供信息摘要算法的对象,初始化为md5算法对象
  18. MessageDigest md = MessageDigest.getInstance("MD5");
  19. // 2 将消息变成byte数组
  20. byte[] input = message.getBytes();
  21. // 3 计算后获得字节数,这就是那128位了
  22. byte[] buff = md.digest(input);
  23. // 4 把数组每字节(一个字节占八位)换16进制连成md5字符
  24. return byte2hex(buff);
  25. } catch (Exception e) {
  26. throw new RuntimeException(e);
  27. }
  28. }
  29. /**
  30. * 二进制转十六进制字符
  31. * @param bytes
  32. * @return
  33. */
  34. private static String byte2hex(byte[] bytes) {
  35. StringBuilder sign = new StringBuilder();
  36. for (int i = 0; i < bytes.length; i++) {
  37. String hex = Integer.toHexString(bytes[i] & 0xFF);
  38. if (hex.length() == 1) {
  39. sign.append("0");
  40. }
  41. sign.append(hex.toUpperCase());
  42. }
  43. return sign.toString();
  44. }
  45. }