HMACTest

Safe Haskell | Safe-Infered

Data.HMAC

Contents

- Function Types
- Data Types

Description

Implements HMAC (hashed message authentication code) as defined in FIPS 198 http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf.

Synopsis

- hmac :: HashMethod -> [Octet] -> [Octet] -> [Octet]
- hmac_sha1 :: [Octet] -> [Octet] -> [Octet]
- hmac_md5 :: [Octet] -> [Octet] -> [Octet]
- data HashMethod = HashMethod {
  - digest :: [Octet] -> [Octet]
  - input_blocksize :: Int
  }

# Function Types

hmac

Arguments

:: HashMethod | Hash function and associated block size
-> [Octet] | Secret key
-> [Octet] | Message text
-> [Octet] | Resulting HMAC value

Generalized function for creating HMACs on a specified hash function.

hmac_sha1

Arguments

:: [Octet] | Secret key
-> [Octet] | Message text
-> [Octet] | Resulting HMAC-SHA1 value

Compute an HMAC using SHA-1 as the underlying hash function.

hmac_md5

Arguments

:: [Octet] | Secret key
-> [Octet] | Message text
-> [Octet] | Resulting HMAC-MD5 value

Compute an HMAC using MD5 as the underlying hash function.

# Data Types

data HashMethod

HMAC works over any hash function, which is represented by HashMethod. A hash function and input block size must be specified.

Constructors

HashMethod |

Fields

digest :: [Octet] -> [Octet]

  An arbitrary hash function

input_blocksize :: Int

  Bit size of an input block to the hash function