Questions
-
Generating a signature and expires in java
Never mind, I have come up with a solution: package com.yourpackage.signature; import java.io.IOException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.util.Date; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import org.apache.geronimo.mail.util.Base64; //can be whichever flavor of encoder you'd like public class SignatureGenerator { public static final String ACCESS_ID = "member-XXXXXXX"; public static final String SECRET_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXx"; //expireTime should be in seconds since Jan 1 1970 : new Date().getTime()/1000) + X public static String generateSignature(String data, String key, String expireTime, String algorithm) throws InvalidKeyException, NoSuchAlgorithmException, IOException { data += expireTime; byte[] hmacData = null; SecretKeySpec secretKey = new SecretKeySpec(key.getBytes("UTF-8"), algorithm); Mac mac = Mac.getInstance(algorithm); mac.init(secretKey); hmacData = mac.doFinal(data.getBytes("UTF-8")); String encoded = new String(Base64.encode(hmacData)); return encoded; } public static void main(String[] args) { try { Long longTime = new Long(new Date().getTime()/1000) + 60; System.out.println(longTime); String data = ACCESS_ID + "\n"; System.out.println(generateSignature(data, SECRET_KEY, String.valueOf(longTime), "HMACSHA1")); } catch (Exception e) { e.printStackTrace(); } } }
Technical SEO Issues | | TRich500