· 6 years ago · Mar 19, 2019, 02:44 PM
1String signatureString = "Test";
2
3final Mac sha256HMAC = Mac.getInstance("HmacSHA256");
4final SecretKeySpec secretKey = new SecretKeySpec(
5
6Base64.getDecoder().decode("LZjfTQi8uxEn5VFI3S4Ml+8UY4y3b2F0aP8c8WuiQtY="), "HmacSHA256");
7sha256HMAC.init(secretKey);
8sha256HMAC.update(signatureString.toString().getBytes(StandardCharsets.UTF_8));
9final byte[] hashBytes = sha256HMAC.doFinal();
10final String signatureB64 = Base64.getEncoder().encodeToString(hashBytes);
11System.out.println(signatureB64.toString()); //nbXkkkM3GuPp8YEIb7JnAj4IrDy0YC7t3Pl/cJxStW0=
12
13String signatureString = 'Test';
14System.debug(generateHmacSHA256Signature(signatureString, 'LZjfTQi8uxEn5VFI3S4Ml+8UY4y3b2F0aP8c8WuiQtY=')); //5zJnHFYz6HklMZ8vR4rf7UJfjrumiexZeYDgsuErrk=
15
16public static String generateHmacSHA256Signature(String input, String secretKey) {
17 String algorithmName = 'HmacSHA256';
18 Blob mac = Crypto.generateMac(algorithmName, Blob.valueOf(input), Blob.valueOf(Secretkey));
19 String macUrl = EncodingUtil.base64Encode(mac);
20 return macUrl;
21}