class ExmoDigest extends BaseParamsDigest {
  private ExmoDigest(String secretKeyBase64) {
    super(secretKeyBase64, HMAC_SHA_512);
  }

  public static ExmoDigest createInstance(String secretKeyBase64) {
    return secretKeyBase64 == null ? null : new ExmoDigest(secretKeyBase64);
  }

  @Override
  public String digestParams(RestInvocation restInvocation) {<FILL_FUNCTION_BODY>}
}

    Mac mac = getMac();

    String requestBody = restInvocation.getRequestBody();

    if (requestBody != null && !requestBody.isEmpty()) {
      mac.update(requestBody.getBytes());
    }

    return String.format("%0128x", new BigInteger(1, mac.doFinal()));
  
<methods>public javax.crypto.Mac getMac() <variables>public static final java.lang.String HMAC_MD5,public static final java.lang.String HMAC_SHA_1,public static final java.lang.String HMAC_SHA_256,public static final java.lang.String HMAC_SHA_384,public static final java.lang.String HMAC_SHA_512,private final non-sealed javax.crypto.Mac mac