docs: @SuppressWarnings("checkstyle:magicnumber")
      public static String toMD5String(String str) {
          try {
              MessageDigest md = MessageDigest.getInstance("MD5");
              if (md == null || str == null) {
                  return null;
              }
              byte[] byteData = md.digest(str.getBytes(Charset.forName("UTF-8")));
  
              StringBuilder sb = new StringBuilder();
              for (byte aByteData : byteData) {
                  sb.append(Integer.toString((aByteData & 0xff) + 0x100, 16).substring(1));
              }
              return sb.toString();
          } catch (NoSuchAlgorithmException ignored) {
              return null;
          }
      }