Constructs the HMAC digest using the specified secret.
Resets the digest and returns the finished hash.
Feeds a piece of data into the hash computation. This method allows the type to be used as an std.range.OutputRange.
Reinitializes the digest, making it ready for reuse.
import std.digest.sha : SHA1; import std.string : representation; string data1 = "Hello, world", data2 = "Hola mundo"; auto hmac = HMAC!SHA1("My s3cR3T keY".representation); auto digest = hmac.put(data1.representation) .put(data2.representation) .finish(); static immutable expected = [ 197, 57, 52, 3, 13, 194, 13, 36, 117, 228, 8, 11, 111, 51, 165, 3, 123, 31, 251, 113]; assert(digest == expected);
Overload of HMAC to be used if H doesn't provide information about its block size.