Example usage for org.apache.commons.codec.digest HmacUtils hmacSha256Hex

List of usage examples for org.apache.commons.codec.digest HmacUtils hmacSha256Hex

Introduction

In this page you can find the example usage for org.apache.commons.codec.digest HmacUtils hmacSha256Hex.

Prototype

public static String hmacSha256Hex(final String key, final String valueToDigest) 

Source Link

Document

Returns a HmacSHA256 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.

Usage

From source file:com.arrow.acs.ApiRequestSigner.java

public String signV0() {
    String method = "signV0";
    validateRequired();//from   ww  w.j  av a  2 s.c o m
    StringBuilder builder = buildCanonicalRequest();
    builder.append(String.format("%s=%s\n", ApiHeaders.X_ARROW_APIKEY, apiKey));
    builder.append(String.format("%s=%s", ApiHeaders.X_ARROW_DATE, timestamp));

    String stringToSign = builder.toString();
    logDebug(method, "stringToSign: %s\n", stringToSign);
    return HmacUtils.hmacSha256Hex(secretKey, stringToSign);
}

From source file:com.arrow.acs.ApiRequestSigner.java

public String signV1() {
    String method = "signV1";
    validateRequired();//from   w w  w .ja va2  s  .  c o m

    StringBuilder builder = buildCanonicalRequest();
    builder.append(hash(payload));

    StringBuilder stringToSign = new StringBuilder();
    stringToSign.append(hash(builder.toString())).append('\n');
    stringToSign.append(apiKey).append('\n');
    stringToSign.append(timestamp).append('\n');
    stringToSign.append(ApiHeaders.X_ARROW_VERSION_1);
    logDebug(method, "stringToSign: %s\n", stringToSign);

    String signingKey = HmacUtils.hmacSha256Hex(ApiHeaders.X_ARROW_VERSION_1,
            HmacUtils.hmacSha256Hex(timestamp, HmacUtils.hmacSha256Hex(apiKey, secretKey)));

    return HmacUtils.hmacSha256Hex(signingKey, stringToSign.toString());
}

From source file:jp.primecloud.auto.sdk.Requester.java

protected String createQueryString(String endpointPath, Map<String, String> parameters) {
    StringBuilder param = new StringBuilder();
    param.append("AccessId=").append(accessId);
    param.append("&Timestamp=").append(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date()));

    if (parameters != null && !parameters.isEmpty()) {
        for (Map.Entry<String, String> parameter : parameters.entrySet()) {
            param.append("&").append(parameter.getKey()).append("=").append(parameter.getValue());
        }//from w  w  w  . j ava 2  s.  c o  m
    }

    String signature = HmacUtils.hmacSha256Hex(accessKey, endpointPath + "?" + param.toString());

    param.append("&Signature=").append(signature);

    String queryString = Base64.getEncoder().encodeToString(param.toString().getBytes(StandardCharsets.UTF_8));

    return queryString;
}