All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xeiam.xchange.poloniex.service.PoloniexDigest Maven / Gradle / Ivy

The newest version!
package com.xeiam.xchange.poloniex.service;

import java.math.BigInteger;

import javax.crypto.Mac;

import com.xeiam.xchange.service.BaseParamsDigest;

import si.mazi.rescu.RestInvocation;

public class PoloniexDigest extends BaseParamsDigest {

  /**
   * Constructor
   * 
   * @param secretKeyBase64
   * @throws IllegalArgumentException if key is invalid (cannot be base-64-decoded or the decoded key is invalid).
   */
  private PoloniexDigest(String secretKeyBase64) {

    super(secretKeyBase64, HMAC_SHA_512);
  }

  public static PoloniexDigest createInstance(String secretKeyBase64) {

    return secretKeyBase64 == null ? null : new PoloniexDigest(secretKeyBase64);
  }

  @Override
  public String digestParams(RestInvocation restInvocation) {

    String postBody = restInvocation.getRequestBody();

    Mac mac = getMac();
    mac.update(postBody.getBytes());

    return String.format("%0128x", new BigInteger(1, mac.doFinal()));
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy