in src/main/java/com/alibaba/cloudapi/sdk/signature/HMacSHA256SignerFactory.java [33:49]
public String sign(String strToSign, String secretKey) throws NoSuchAlgorithmException, InvalidKeyException , SdkException {
if (HttpCommonUtil.isEmpty(strToSign)) {
throw new IllegalArgumentException("strToSign can not be empty");
}
if (HttpCommonUtil.isEmpty(secretKey)) {
throw new IllegalArgumentException("secretKey can not be empty");
}
Mac hmacSha256 = Mac.getInstance("HmacSHA256");
byte[] keyBytes = secretKey.getBytes(SdkConstant.CLOUDAPI_ENCODING);
hmacSha256.init(new SecretKeySpec(keyBytes, 0, keyBytes.length, "HmacSHA256"));
byte[] md5Result = hmacSha256.doFinal(strToSign.getBytes(SdkConstant.CLOUDAPI_ENCODING));
return Base64.encodeBase64String(md5Result);
}