Java tutorial
//package com.java2s; //License from project: Apache License import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; public class Main { private static final char[] HEX_CHARS = "0123456789abcdef".toCharArray(); public static String hmacSha256Encode(String key, String data) throws NoSuchAlgorithmException, InvalidKeyException, UnsupportedEncodingException { Mac sha256_HMAC = Mac.getInstance("HmacSHA256"); SecretKeySpec secret_key = new SecretKeySpec(key.getBytes("utf-8"), "HmacSHA256"); sha256_HMAC.init(secret_key); return asHex(sha256_HMAC.doFinal(data.getBytes("utf-8"))); } private static String asHex(byte[] buf) { char[] chars = new char[2 * buf.length]; for (int i = 0; i < buf.length; ++i) { chars[2 * i] = HEX_CHARS[(buf[i] & 0xF0) >>> 4]; chars[2 * i + 1] = HEX_CHARS[buf[i] & 0x0F]; } return new String(chars); } }