code: public static String hexMD5(final byte[] data) {
          try {
              MessageDigest md5 = MessageDigest.getInstance("MD5");
  
              md5.reset();
              md5.update(data);
              byte[] digest = md5.digest();
  
              return toHex(digest);
          } catch (NoSuchAlgorithmException e) {
              throw new RuntimeException("Error - this implementation of Java doesn't support MD5.");
          }
      }
docs: Produce hex representation of the MD5 digest of a byte array.
  
  @param data bytes to digest
  @return hex string of the MD5 digest