Blame |
Last modification |
View Log
| Download
| RSS feed
package br.com.kronus.binance.futures;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
public class UtilHmac
{
private UtilHmac
() {}
public static String hmacSha256Hex
(String chaveSecreta,
String payload
) {
try {
Mac sha256_HMAC =
Mac.
getInstance("HmacSHA256");
SecretKeySpec secret_key =
new SecretKeySpec(
chaveSecreta.
getBytes(StandardCharsets.
UTF_8),
"HmacSHA256"
);
sha256_HMAC.
init(secret_key
);
byte[] hash = sha256_HMAC.
doFinal(payload.
getBytes(StandardCharsets.
UTF_8));
return bytesToHex
(hash
);
} catch (Exception e
) {
throw new RuntimeException("Erro ao gerar HMAC SHA256", e
);
}
}
private static String bytesToHex
(byte[] bytes
) {
StringBuilder sb =
new StringBuilder(bytes.
length * 2);
for (byte b : bytes
) {
sb.
append(String.
format("%02x", b
));
}
return sb.
toString();
}
}