| Refresh | Home EGTry.com

calculate the message signature based on secret key


do the same in perl

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;


public class HmacSHA1Test {
    public static final String signatureMethod="HmacSHA1";
    public static String key="This is the secret key";
    
    private static Mac mac;
    static {
            try {

                
                    mac = Mac.getInstance(signatureMethod);
                    mac.init(new SecretKeySpec(key.getBytes(), signatureMethod));
            
            } catch (Exception e) {
                    e.printStackTrace();
            }
    }
    
    public static void main(String[] args) throws Exception {
       String input="Good Evening"; 
       
       byte[] msgBytes=input.getBytes("UTF-8");
       byte[] codes=mac.doFinal(msgBytes);
       String digest=Base64.encodeBytes(codes);
       System.out.println("key:"+key+" input:"+input+" digest: "+digest);
       //output: key:This is the secret key, input:Good Evening, digest: kRfi1C7Q64oHS+6hEX2BnYB/tnc=
    }
}