Compute HMAC message digests using SHA-1 hash function. You provide a key and a message and you get a digest. You can convert the digest into different representations like Bytes, Base16 or Base64.
This provide the native Bytes (elm/bytes). This is important as you can represent the data as you want.
More information of HMAC here.
Some API's use the HMAC SHA-1 as Authentication, like Amazon or Twitter.
import HmacSha1 import HmacSha1.Key as Key exposing (Key) canonicalString : String canonicalString = String.join "," [ "application/json" , "" , "/account" , "Wed, 02 Nov 2016 17:26:52 GMT" ] appKey : Key appKey = Key.fromString "verify-secret" HmacSha1.fromString appKey canonicalString |> HmacSha1.toBase64 --> "nLet/JEZG9CRXHScwaQ/na4vsKQ="
This package doesn't implement the SHA-1 hash function. It internally uses this implementation.
HMAC strength depends on the hashing algorithm and SHA-1 is not considered cryptographically strong. Use this package to interoperate with systems that already uses HMAC SHA-1 and not for implementing new systems.
There are stronger cryptographic algorithms like HMAC SHA-2, and this Elm package implements it.
This package uses doc tests, which can be tested using elm-verify-examples.
To run all tests (assuming
elm-verify-examples are installed):
cd elm-hmac-sha1 elm-verify-examples --fail-on-warn && elm-test