code: public static String getMD5Hash(final String input) throws HibiscusException  {
  
          String hashValue = null;
  
          try {
  
              final MessageDigest messageDigest = MessageDigest.getInstance(MESSAGE_DIGEST_ALGORITHM_MD5);
              byte[] md5Hash = new byte[BYTE_LENGTH_MD5];
  
              messageDigest.update(input.getBytes(ENCODING_CHARSET_NAME), MESSAGE_DIGEST_UPDATE_OFFSET, input.length());
              md5Hash = messageDigest.digest();
  
              hashValue = convertToHex(md5Hash);
  
          } catch (NoSuchAlgorithmException e) {
              throw new HibiscusException("Unsupported Message Digest Algorithm "  + MESSAGE_DIGEST_ALGORITHM_MD5, e);
          } catch (UnsupportedEncodingException e) {
              throw new HibiscusException("Unsupported Encoding " + ENCODING_CHARSET_NAME , e);
          }
  
          return hashValue;
      }
docs: Returns the MD5 hash of the input string
  
  @param input Input string
  @return String The md5 hash of the input string
  @throws HibiscusException