| License | BSD-style | 
|---|---|
| Maintainer | Vincent Hanquez <vincent@snarc.org> | 
| Stability | experimental | 
| Portability | unknown | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Crypto.MAC.HMAC
Contents
Description
provide the HMAC (Hash based Message Authentification Code) base algorithm. http://en.wikipedia.org/wiki/HMAC
- hmac :: (ByteArrayAccess key, ByteArrayAccess message, HashAlgorithm a) => key -> message -> HMAC a
- newtype HMAC a = HMAC {- hmacGetDigest :: Digest a
 
- data Context hashalg = Context !(Context hashalg) !(Context hashalg)
- initialize :: (ByteArrayAccess key, HashAlgorithm a) => key -> Context a
- update :: (ByteArrayAccess message, HashAlgorithm a) => Context a -> message -> Context a
- updates :: (ByteArrayAccess message, HashAlgorithm a) => Context a -> [message] -> Context a
- finalize :: HashAlgorithm a => Context a -> HMAC a
Documentation
Arguments
| :: (ByteArrayAccess key, ByteArrayAccess message, HashAlgorithm a) | |
| => key | Secret key | 
| -> message | Message to MAC | 
| -> HMAC a | 
compute a MAC using the supplied hashing function
Represent an HMAC that is a phantom type with the hash used to produce the mac.
The Eq instance is constant time.
Constructors
| HMAC | |
| Fields 
 | |
incremental
Represent an ongoing HMAC state, that can be appended with update
 and finalize to an HMAC with hmacFinalize
Arguments
| :: (ByteArrayAccess key, HashAlgorithm a) | |
| => key | Secret key | 
| -> Context a | 
Initialize a new incremental HMAC context
Arguments
| :: (ByteArrayAccess message, HashAlgorithm a) | |
| => Context a | Current HMAC context | 
| -> message | Message to append to the MAC | 
| -> Context a | Updated HMAC context | 
Incrementally update a HMAC context
Arguments
| :: (ByteArrayAccess message, HashAlgorithm a) | |
| => Context a | Current HMAC context | 
| -> [message] | Messages to append to the MAC | 
| -> Context a | Updated HMAC context | 
Increamentally update a HMAC context with multiple inputs