· 7 years ago · Apr 12, 2018, 02:28 PM
1hash_hmac('sha1', "test", "secret")
2
3String mykey = "secret";
4String test = "test";
5try {
6 Mac mac = Mac.getInstance("HmacSHA1");
7 SecretKeySpec secret = new SecretKeySpec(mykey.getBytes(),"HmacSHA1");
8 mac.init(secret);
9 byte[] digest = mac.doFinal(test.getBytes());
10 String enc = new String(digest);
11 System.out.println(enc);
12} catch (Exception e) {
13 System.out.println(e.getMessage());
14}
15
16for (byte b : digest) {
17 System.out.format("%02x", b);
18}
19System.out.println();
20
21private static String computeSignature(String baseString, String keyString) throws GeneralSecurityException, UnsupportedEncodingException {
22
23 SecretKey secretKey = null;
24
25 byte[] keyBytes = keyString.getBytes();
26 secretKey = new SecretKeySpec(keyBytes, "HmacSHA1");
27
28 Mac mac = Mac.getInstance("HmacSHA1");
29
30 mac.init(secretKey);
31
32 byte[] text = baseString.getBytes();
33
34 return new String(Base64.encodeBase64(mac.doFinal(text))).trim();
35}
36
37BigInteger hash = new BigInteger(1, digest);
38 String enc = hash.toString(16);
39 if ((enc.length() % 2) != 0) {
40 enc = "0" + enc;
41 }
42
43String hmac = "";
44
45 Mac mac = Mac.getInstance("HmacSHA1");
46 SecretKeySpec secret = new SecretKeySpec(llave.getBytes(), "HmacSHA1");
47 mac.init(secret);
48 byte[] digest = mac.doFinal(cadena.getBytes());
49 BigInteger hash = new BigInteger(1, digest);
50 hmac = hash.toString(16);
51
52 if (hmac.length() % 2 != 0) {
53 hmac = "0" + hmac;
54 }
55
56 return hmac;