· 6 years ago · Oct 16, 2019, 12:22 PM
1// cat payload.json | openssl sha256 -hmac 'secret'
2import javax.crypto.Mac;
3import javax.crypto.spec.SecretKeySpec;
4
5val payload = scala.io.Source.fromFile("payload.json").mkString
6val secret = "secret"
7val sha256_HMAC = Mac.getInstance("HmacSHA256")
8val secret_key = new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256");
9sha256_HMAC.init(secret_key)
10
11val hash = sha256_HMAC.doFinal(payload.getBytes())
12val signature = hash.map(b => "%02x".format(b)).mkString