-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Implementations of the SHA suite of message digest functions -- -- This library implements the SHA suite of message digest functions, -- according to NIST FIPS 180-2 (with the SHA-224 addendum). The -- functions have been tested against most of the NIST test vectors for -- the various functions. However, only slight attention has been paid to -- the speed of the functions. @package SHA @version 1.0.4 -- | Pure implementations of the SHA suite of hash functions. The -- implementation is basically an unoptimized translation of FIPS 180-2 -- into Haskell. If you're looking for performance, you probably won't -- find it here. module Data.Digest.Pure.SHA -- | An abstract datatype for digests. data Digest -- | Compute the SHA-1 hash of the given ByteString. The output is -- guaranteed to be exactly 160 bits, or 20 bytes, long. This is a good -- default for programs that need a good, but not necessarily -- hyper-secure, hash function. sha1 :: ByteString -> Digest -- | Compute the SHA-224 hash of the given ByteString. Note that SHA-224 -- and SHA-384 differ only slightly from SHA-256 and SHA-512, and use -- truncated versions of the resulting hashes. So using 224/384 may not, -- in fact, save you very much ... sha224 :: ByteString -> Digest -- | Compute the SHA-256 hash of the given ByteString. The output is -- guaranteed to be exactly 256 bits, or 32 bytes, long. If your security -- requirements are pretty serious, this is a good choice. For truly -- significant security concerns, however, you might try one of the -- bigger options. sha256 :: ByteString -> Digest -- | Compute the SHA-384 hash of the given ByteString. Yup, you guessed it, -- the output will be exactly 384 bits, or 48 bytes, long. sha384 :: ByteString -> Digest -- | For those for whom only the biggest hashes will do, this computes the -- SHA-512 hash of the given ByteString. The output will be 64 bytes, or -- 512 bits, long. sha512 :: ByteString -> Digest -- | Convert a digest to a string. The digest is rendered as fixed with -- hexadecimal number. showDigest :: Digest -> String -- | Convert a digest to an Integer. integerDigest :: Digest -> Integer -- | Convert a digest to a ByteString. bytestringDigest :: Digest -> ByteString instance Eq Digest instance Ord Digest instance Show State64 instance Show Digest