-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | collection of crypto hashes, fast, pure and practical
--   
--   A collection of crypto hashes, with a practical incremental and
--   one-pass, pure APIs, with performance close to the fastest
--   implementations available in others languages.
--   
--   The implementations are made in C with a haskell FFI wrapper that hide
--   the C implementation.
@package cryptohash
@version 0.7.5


-- | provide the HMAC (Hash based Message Authentification Code) base
--   algorithm. http:<i></i>en.wikipedia.org<i>wiki</i>HMAC
module Crypto.MAC.HMAC

-- | compute a MAC using the supplied hashing function
hmac :: (ByteString -> ByteString) -> Int -> ByteString -> ByteString -> ByteString


-- | A module containing Tiger bindings
module Crypto.Hash.Tiger
data Ctx
Ctx :: !ByteString -> Ctx
data Tiger

-- | init a context
init :: Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: ByteString -> ByteString
instance Eq Tiger
instance Ord Tiger
instance Show Tiger
instance Storable Ctx


-- | A module containing Skein512 bindings
module Crypto.Hash.Skein512
data Ctx
Ctx :: !ByteString -> Ctx
data Skein512

-- | init a context
init :: Int -> Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: Int -> ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: Int -> ByteString -> ByteString
instance Eq Skein512
instance Ord Skein512
instance Show Skein512
instance Storable Ctx


-- | A module containing Skein256 bindings
module Crypto.Hash.Skein256
data Ctx
Ctx :: !ByteString -> Ctx
data Skein256

-- | init a context
init :: Int -> Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: Int -> ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: Int -> ByteString -> ByteString
instance Eq Skein256
instance Ord Skein256
instance Show Skein256
instance Storable Ctx


-- | A module containing RIPEMD160 bindings
module Crypto.Hash.RIPEMD160
data Ctx
Ctx :: !ByteString -> Ctx
data RIPEMD160

-- | init a context
init :: Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: ByteString -> ByteString
instance Eq RIPEMD160
instance Ord RIPEMD160
instance Show RIPEMD160
instance Storable Ctx


-- | A module containing MD5 bindings
module Crypto.Hash.MD5
data Ctx
Ctx :: !ByteString -> Ctx
data MD5

-- | init a context
init :: Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: ByteString -> ByteString
instance Eq MD5
instance Ord MD5
instance Show MD5
instance Storable Ctx


-- | A module containing MD4 bindings
module Crypto.Hash.MD4
data Ctx
Ctx :: !ByteString -> Ctx
data MD4

-- | init a context
init :: Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: ByteString -> ByteString
instance Eq MD4
instance Ord MD4
instance Show MD4
instance Storable Ctx


-- | A module containing MD2 bindings
module Crypto.Hash.MD2
data Ctx
Ctx :: !ByteString -> Ctx
data MD2

-- | init a context
init :: Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: ByteString -> ByteString
instance Eq MD2
instance Ord MD2
instance Show MD2
instance Storable Ctx


-- | A module containing SHA512 bindings
module Crypto.Hash.SHA512
data Ctx
Ctx :: !ByteString -> Ctx
data SHA512

-- | init a context
init :: Ctx

-- | init a context using FIPS 180-4 for truncated SHA512
init_t :: Int -> Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: ByteString -> ByteString
instance Eq SHA512
instance Ord SHA512
instance Show SHA512
instance Storable Ctx


-- | A module containing SHA512/t
module Crypto.Hash.SHA512t
data Ctx
Ctx :: !Int -> !Ctx -> Ctx

-- | init a context
init :: Int -> Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: Int -> ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: Int -> ByteString -> ByteString


-- | A module containing SHA384 bindings
module Crypto.Hash.SHA384
data Ctx
Ctx :: !ByteString -> Ctx
data SHA384

-- | init a context
init :: Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: ByteString -> ByteString
instance Eq SHA384
instance Ord SHA384
instance Show SHA384
instance Storable Ctx


-- | A module containing SHA256 bindings
module Crypto.Hash.SHA256
data Ctx
Ctx :: !ByteString -> Ctx
data SHA256

-- | init a context
init :: Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: ByteString -> ByteString
instance Eq SHA256
instance Ord SHA256
instance Show SHA256
instance Storable Ctx


-- | A module containing SHA224 bindings
module Crypto.Hash.SHA224
data Ctx
Ctx :: !ByteString -> Ctx
data SHA224

-- | init a context
init :: Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: ByteString -> ByteString
instance Eq SHA224
instance Ord SHA224
instance Show SHA224
instance Storable Ctx


-- | A module containing SHA1 bindings
module Crypto.Hash.SHA1
data Ctx
Ctx :: !ByteString -> Ctx
data SHA1

-- | init a context
init :: Ctx

-- | update a context with a bytestring
update :: Ctx -> ByteString -> Ctx

-- | finalize the context into a digest bytestring
finalize :: Ctx -> ByteString

-- | hash a strict bytestring into a digest bytestring
hash :: ByteString -> ByteString

-- | hash a lazy bytestring into a digest bytestring
hashlazy :: ByteString -> ByteString
instance Eq SHA1
instance Ord SHA1
instance Show SHA1
instance Storable Ctx
