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


-- | Fast, pure and practical SHA-256 implementation
--   
--   A practical incremental and one-pass, pure API to the <a>SHA-256 hash
--   algorithm</a> with performance close to the fastest implementations
--   available in other languages.
--   
--   The implementation is made in C with a haskell FFI wrapper that hides
--   the C implementation.
--   
--   NOTE: This package has been forked off <tt>cryptohash-0.11.7</tt>
--   because the <tt>cryptohash</tt> has been deprecated and so this
--   package continues to satisfy the need for a lightweight package
--   providing the SHA256 hash algorithm without any dependencies on
--   packages other than <tt>base</tt> and <tt>bytestring</tt>.
--   
--   Consequently, this package can be used as a drop-in replacement for
--   <tt>cryptohash</tt>'s <a>Crypto.Hash.SHA256</a> module, though with a
--   clearly smaller footprint.
@package cryptohash-sha256
@version 0.11.7.1


-- | A module containing <a>SHA-256</a> bindings
module Crypto.Hash.SHA256

-- | SHA-256 Context
newtype Ctx
Ctx :: ByteString -> Ctx

-- | init a context
init :: Ctx

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

-- | updates a context with multiples bytestring
updates :: 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
