docs: private static String md5Hex(String message) {
          try {
              final MessageDigest md = MessageDigest.getInstance("MD5");
              final byte[] array = md.digest(message.getBytes("UTF-8"));
              final StringBuilder sb = new StringBuilder();
              for (final byte b : array) {
                  sb.append(Integer.toHexString((b & 0xFF) | 0x100).substring(1, 3));
              }
              return sb.toString();
          } catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
              throw new RuntimeException(e);
          }
      }