ParseMD5.java 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.ruoyi.web.util;
  2. /**
  3. * @ClassName ParseMD5
  4. * @Description: TODO
  5. * @Author LX
  6. * @Date 2023/6/27
  7. * @Version V1.0
  8. **/
  9. import org.slf4j.Logger;
  10. import org.slf4j.LoggerFactory;
  11. import java.security.MessageDigest;
  12. import java.security.NoSuchAlgorithmException;
  13. /**
  14. * 将字符串转换为MD5
  15. */
  16. public class ParseMD5 {
  17. private final static String mStrClassName = "ParseMD5";
  18. private final static String EMPTY_NULL = "NULL";
  19. private static final Logger sys_error_logger = LoggerFactory.getLogger("sys-error");
  20. public static String parseStrToMd5L32(String str) {
  21. // 将字符串转换为32位小写MD5
  22. String reStr = null;
  23. try {
  24. MessageDigest md5 = MessageDigest.getInstance("MD5");
  25. byte[] bytes = md5.digest(str.getBytes());
  26. StringBuffer stringBuffer = new StringBuffer();
  27. for (byte b : bytes) {
  28. int bt = b&0xff;
  29. if (bt < 16) {
  30. stringBuffer.append(0);
  31. }
  32. stringBuffer.append(Integer.toHexString(bt));
  33. }
  34. reStr = stringBuffer.toString();
  35. } catch (NoSuchAlgorithmException e) {
  36. sys_error_logger.error(String.format(mStrClassName+" errorMsg: %s====>"
  37. ,e.getLocalizedMessage()));
  38. }
  39. return reStr;
  40. }
  41. // 将字符串转换为32位大写的MD5
  42. public static String parseStrToMd5U32(String str) {
  43. String reStr = parseStrToMd5L32(str);
  44. if (reStr != null) {
  45. reStr = reStr.toUpperCase();
  46. }
  47. return reStr;
  48. }
  49. // 将字符串转换为16位小写的MD5
  50. public static String parseStrToMd5L16(String str) {
  51. String reStr = parseStrToMd5L32(str);
  52. if (reStr != null) {
  53. reStr = reStr.substring(8, 24);
  54. }
  55. return reStr;
  56. }
  57. // 将字符串转换为16位大写的MD5
  58. public static String parseStrToMd5U16(String str) {
  59. String reStr = parseStrToMd5L32(str);
  60. if (reStr != null) {
  61. reStr = reStr.toUpperCase().substring(8, 24);
  62. }
  63. return reStr;
  64. }
  65. }