package com.duosecurity;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
public class Util {
private Util() {}
public static String hmacSign(final String skey, final String data)
throws NoSuchAlgorithmException, InvalidKeyException {
final SecretKeySpec key = new SecretKeySpec(skey.getBytes(), "HmacSHA1");
final Mac mac = Mac.getInstance("HmacSHA1");
mac.init(key);
final byte[] raw = mac.doFinal(data.getBytes());
return bytesToHex(raw);
}
public static String bytesToHex(final byte[] b) {
String result = "";
for (int i = 0; i < b.length; i++) {
result += Integer.toString((b[i] & 0xff) + 0x100, 16).substring(1);
}
return result;
}
}