| 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
Synopsis
- hmac :: (ByteArrayAccess key, ByteArrayAccess message, HashAlgorithm a) => key -> message -> HMAC a
 - hmacLazy :: (ByteArrayAccess key, HashAlgorithm a) => key -> ByteString -> 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
Arguments
| :: (ByteArrayAccess key, HashAlgorithm a) | |
| => key | Secret key  | 
| -> ByteString | Message to MAC  | 
| -> HMAC a | 
Compute a MAC using the supplied hashing function, for a lazy input
Represent an HMAC that is a phantom type with the hash used to produce the mac.
The Eq instance is constant time. No Show instance is provided, to avoid printing by mistake.
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