Class HMACSignature
java.lang.Object
com.huntertechpay.security.HMACSignature
Utility class for generating HMAC-SHA512 signatures for API requests.
HunterTechPay requires HMAC-SHA512 signatures for all non-GET requests to ensure request authenticity and integrity.
Example usage:
String signature = HMACSignature.generateSignature(
secretKey,
timestamp,
jsonPayload
);
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringgenerateSignature(String secretKey, long timestamp, String payload) Generate HMAC-SHA512 signature for API request.static longGet current Unix timestamp in seconds.static booleanverifySignature(String secretKey, long timestamp, String payload, String expectedSignature) Verify HMAC signature for webhook validation.
-
Constructor Details
-
HMACSignature
public HMACSignature()
-
-
Method Details
-
generateSignature
Generate HMAC-SHA512 signature for API request.- Parameters:
secretKey- The merchant secret keytimestamp- Unix timestamp in secondspayload- JSON payload as string- Returns:
- Hexadecimal signature string
- Throws:
SecurityException- if signature generation fails
-
verifySignature
public static boolean verifySignature(String secretKey, long timestamp, String payload, String expectedSignature) Verify HMAC signature for webhook validation.- Parameters:
secretKey- The merchant secret keytimestamp- Unix timestamp from webhook headerpayload- Webhook payloadexpectedSignature- Signature from X-Hunter-Signature header- Returns:
- true if signature is valid
-
getCurrentTimestamp
public static long getCurrentTimestamp()Get current Unix timestamp in seconds.- Returns:
- Current timestamp
-