Class HMACSignature

java.lang.Object
com.huntertechpay.security.HMACSignature

public class HMACSignature extends Object
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 Details

    • HMACSignature

      public HMACSignature()
  • Method Details

    • generateSignature

      public static String generateSignature(String secretKey, long timestamp, String payload)
      Generate HMAC-SHA512 signature for API request.
      Parameters:
      secretKey - The merchant secret key
      timestamp - Unix timestamp in seconds
      payload - 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 key
      timestamp - Unix timestamp from webhook header
      payload - Webhook payload
      expectedSignature - 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