License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Stability | experimental |
Portability | unknown |
Safe Haskell | Trustworthy |
Language | Haskell98 |
Crypto.Hash
Description
Generalized cryptographic hash interface, that you can use with cryptographic hash algorithm that belong to the HashAlgorithm type class.
import Crypto.Hash sha1 :: ByteString -> Digest SHA1 sha1 = hash hexSha3_512 :: ByteString -> String hexSha3_512 bs = show (hash bs :: Digest SHA3_512)
Synopsis
- class HashAlgorithm a where
- hashBlockSize :: Context a -> Int
- hashInit :: Context a
- hashUpdates :: Context a -> [ByteString] -> Context a
- hashFinalize :: Context a -> Digest a
- digestFromByteString :: ByteString -> Maybe (Digest a)
- type HashFunctionBS a = ByteString -> Digest a
- type HashFunctionLBS a = ByteString -> Digest a
- data Context a
- data Digest a
- digestToByteString :: Digest a -> ByteString
- digestToHexByteString :: Digest a -> ByteString
- hash :: HashAlgorithm a => ByteString -> Digest a
- hashlazy :: HashAlgorithm a => ByteString -> Digest a
- hashUpdate :: HashAlgorithm a => Context a -> ByteString -> Context a
- hashInitAlg :: HashAlgorithm alg => alg -> Context alg
- data MD2 = MD2
- data MD4 = MD4
- data MD5 = MD5
- data SHA1 = SHA1
- data SHA224 = SHA224
- data SHA256 = SHA256
- data SHA384 = SHA384
- data SHA512 = SHA512
- data RIPEMD160 = RIPEMD160
- data Tiger = Tiger
- data SHA3_224 = SHA3_224
- data SHA3_256 = SHA3_256
- data SHA3_384 = SHA3_384
- data SHA3_512 = SHA3_512
- data Skein256_224 = Skein256_224
- data Skein256_256 = Skein256_256
- data Skein512_224 = Skein512_224
- data Skein512_256 = Skein512_256
- data Skein512_384 = Skein512_384
- data Skein512_512 = Skein512_512
- data Whirlpool = Whirlpool
- newtype HMAC a = HMAC {
- hmacGetDigest :: Digest a
- hmac :: HashAlgorithm a => ByteString -> ByteString -> HMAC a
- hmacAlg :: HashAlgorithm a => a -> ByteString -> ByteString -> HMAC a
Types
class HashAlgorithm a where Source #
Class representing hashing algorithms.
The hash algorithm is built over 3 primitives:
- init : create a new hashing context
- updates : update the hashing context with some strict bytestrings and return the new context
- finalize : finalize the context into a digest
Methods
hashBlockSize :: Context a -> Int Source #
Block size in bytes the hash algorithm operates on
hashInit :: Context a Source #
Initialize a new context for this hash algorithm
hashUpdates :: Context a -> [ByteString] -> Context a Source #
Update the context with a list of strict bytestring, and return a new context with the updates.
hashFinalize :: Context a -> Digest a Source #
Finalize a context and return a digest.
digestFromByteString :: ByteString -> Maybe (Digest a) Source #
Try to convert a binary digest bytestring to a digest.
Instances
type HashFunctionBS a = ByteString -> Digest a Source #
Alias to a single pass hash function that operate on a strict bytestring
type HashFunctionLBS a = ByteString -> Digest a Source #
Alias to a single pass hash function that operate on a lazy bytestring
Represent a context for a given hash algorithm.
Represent a digest for a given hash algorithm.
Functions
digestToByteString :: Digest a -> ByteString Source #
Deprecated: use toBytes from byteable:Data.Byteable
return the binary bytestring. deprecated use toBytes.
digestToHexByteString :: Digest a -> ByteString Source #
Return the hexadecimal (base16) bytestring of the digest
hash :: HashAlgorithm a => ByteString -> Digest a Source #
Hash a strict bytestring into a digest.
hashlazy :: HashAlgorithm a => ByteString -> Digest a Source #
Hash a lazy bytestring into a digest.
hashUpdate :: HashAlgorithm a => Context a -> ByteString -> Context a Source #
run hashUpdates on one single bytestring and return the updated context.
hashInitAlg :: HashAlgorithm alg => alg -> Context alg Source #
Initialize a new context for a specified hash algorithm
hash algorithms
MD2 cryptographic hash algorithm
Constructors
MD2 |
Instances
Data MD2 | |
Defined in Crypto.Hash.MD2 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MD2 -> c MD2 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MD2 dataTypeOf :: MD2 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MD2) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MD2) gmapT :: (forall b. Data b => b -> b) -> MD2 -> MD2 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MD2 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MD2 -> r gmapQ :: (forall d. Data d => d -> u) -> MD2 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> MD2 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> MD2 -> m MD2 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MD2 -> m MD2 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MD2 -> m MD2 | |
Show MD2 | |
HashAlgorithm MD2 | |
Defined in Crypto.Hash.MD2 Associated Types type HashBlockSize MD2 :: Nat Source # type HashDigestSize MD2 :: Nat Source # type HashInternalContextSize MD2 :: Nat Source # Methods hashBlockSize :: MD2 -> Int Source # hashDigestSize :: MD2 -> Int Source # hashInternalContextSize :: MD2 -> Int Source # hashInternalInit :: Ptr (Context MD2) -> IO () Source # hashInternalUpdate :: Ptr (Context MD2) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context MD2) -> Ptr (Digest MD2) -> IO () Source # | |
HashAlgorithm MD2 Source # | MD2 cryptographic hash |
type HashInternalContextSize MD2 | |
Defined in Crypto.Hash.MD2 | |
type HashDigestSize MD2 | |
Defined in Crypto.Hash.MD2 | |
type HashBlockSize MD2 | |
Defined in Crypto.Hash.MD2 |
MD4 cryptographic hash algorithm
Constructors
MD4 |
Instances
Data MD4 | |
Defined in Crypto.Hash.MD4 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MD4 -> c MD4 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MD4 dataTypeOf :: MD4 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MD4) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MD4) gmapT :: (forall b. Data b => b -> b) -> MD4 -> MD4 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MD4 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MD4 -> r gmapQ :: (forall d. Data d => d -> u) -> MD4 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> MD4 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> MD4 -> m MD4 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MD4 -> m MD4 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MD4 -> m MD4 | |
Show MD4 | |
HashAlgorithm MD4 | |
Defined in Crypto.Hash.MD4 Associated Types type HashBlockSize MD4 :: Nat Source # type HashDigestSize MD4 :: Nat Source # type HashInternalContextSize MD4 :: Nat Source # Methods hashBlockSize :: MD4 -> Int Source # hashDigestSize :: MD4 -> Int Source # hashInternalContextSize :: MD4 -> Int Source # hashInternalInit :: Ptr (Context MD4) -> IO () Source # hashInternalUpdate :: Ptr (Context MD4) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context MD4) -> Ptr (Digest MD4) -> IO () Source # | |
HashAlgorithm MD4 Source # | MD4 cryptographic hash |
type HashInternalContextSize MD4 | |
Defined in Crypto.Hash.MD4 | |
type HashDigestSize MD4 | |
Defined in Crypto.Hash.MD4 | |
type HashBlockSize MD4 | |
Defined in Crypto.Hash.MD4 |
MD5 cryptographic hash algorithm
Constructors
MD5 |
Instances
Data MD5 | |
Defined in Crypto.Hash.MD5 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MD5 -> c MD5 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MD5 dataTypeOf :: MD5 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MD5) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MD5) gmapT :: (forall b. Data b => b -> b) -> MD5 -> MD5 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MD5 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MD5 -> r gmapQ :: (forall d. Data d => d -> u) -> MD5 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> MD5 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> MD5 -> m MD5 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MD5 -> m MD5 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MD5 -> m MD5 | |
Show MD5 | |
HashAlgorithm MD5 | |
Defined in Crypto.Hash.MD5 Associated Types type HashBlockSize MD5 :: Nat Source # type HashDigestSize MD5 :: Nat Source # type HashInternalContextSize MD5 :: Nat Source # Methods hashBlockSize :: MD5 -> Int Source # hashDigestSize :: MD5 -> Int Source # hashInternalContextSize :: MD5 -> Int Source # hashInternalInit :: Ptr (Context MD5) -> IO () Source # hashInternalUpdate :: Ptr (Context MD5) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context MD5) -> Ptr (Digest MD5) -> IO () Source # | |
HashAlgorithm MD5 Source # | MD5 cryptographic hash |
type HashInternalContextSize MD5 | |
Defined in Crypto.Hash.MD5 | |
type HashDigestSize MD5 | |
Defined in Crypto.Hash.MD5 | |
type HashBlockSize MD5 | |
Defined in Crypto.Hash.MD5 |
SHA1 cryptographic hash algorithm
Constructors
SHA1 |
Instances
Data SHA1 | |
Defined in Crypto.Hash.SHA1 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA1 -> c SHA1 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA1 dataTypeOf :: SHA1 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA1) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA1) gmapT :: (forall b. Data b => b -> b) -> SHA1 -> SHA1 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA1 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA1 -> r gmapQ :: (forall d. Data d => d -> u) -> SHA1 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA1 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA1 -> m SHA1 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA1 -> m SHA1 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA1 -> m SHA1 | |
Show SHA1 | |
HashAlgorithm SHA1 | |
Defined in Crypto.Hash.SHA1 Associated Types type HashBlockSize SHA1 :: Nat Source # type HashDigestSize SHA1 :: Nat Source # type HashInternalContextSize SHA1 :: Nat Source # Methods hashBlockSize :: SHA1 -> Int Source # hashDigestSize :: SHA1 -> Int Source # hashInternalContextSize :: SHA1 -> Int Source # hashInternalInit :: Ptr (Context SHA1) -> IO () Source # hashInternalUpdate :: Ptr (Context SHA1) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context SHA1) -> Ptr (Digest SHA1) -> IO () Source # | |
HashAlgorithm SHA1 Source # | SHA1 cryptographic hash |
type HashInternalContextSize SHA1 | |
Defined in Crypto.Hash.SHA1 | |
type HashDigestSize SHA1 | |
Defined in Crypto.Hash.SHA1 | |
type HashBlockSize SHA1 | |
Defined in Crypto.Hash.SHA1 |
SHA224 cryptographic hash algorithm
Constructors
SHA224 |
Instances
Data SHA224 | |
Defined in Crypto.Hash.SHA224 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA224 -> c SHA224 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA224 dataTypeOf :: SHA224 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA224) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA224) gmapT :: (forall b. Data b => b -> b) -> SHA224 -> SHA224 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA224 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA224 -> r gmapQ :: (forall d. Data d => d -> u) -> SHA224 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA224 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA224 -> m SHA224 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA224 -> m SHA224 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA224 -> m SHA224 | |
Show SHA224 | |
HashAlgorithm SHA224 | |
Defined in Crypto.Hash.SHA224 Associated Types type HashBlockSize SHA224 :: Nat Source # type HashDigestSize SHA224 :: Nat Source # type HashInternalContextSize SHA224 :: Nat Source # Methods hashBlockSize :: SHA224 -> Int Source # hashDigestSize :: SHA224 -> Int Source # hashInternalContextSize :: SHA224 -> Int Source # hashInternalInit :: Ptr (Context SHA224) -> IO () Source # hashInternalUpdate :: Ptr (Context SHA224) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context SHA224) -> Ptr (Digest SHA224) -> IO () Source # | |
HashAlgorithm SHA224 Source # | SHA224 cryptographic hash |
Defined in Crypto.Hash | |
type HashInternalContextSize SHA224 | |
Defined in Crypto.Hash.SHA224 | |
type HashDigestSize SHA224 | |
Defined in Crypto.Hash.SHA224 | |
type HashBlockSize SHA224 | |
Defined in Crypto.Hash.SHA224 |
SHA256 cryptographic hash algorithm
Constructors
SHA256 |
Instances
Data SHA256 | |
Defined in Crypto.Hash.SHA256 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA256 -> c SHA256 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA256 dataTypeOf :: SHA256 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA256) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA256) gmapT :: (forall b. Data b => b -> b) -> SHA256 -> SHA256 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA256 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA256 -> r gmapQ :: (forall d. Data d => d -> u) -> SHA256 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA256 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA256 -> m SHA256 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA256 -> m SHA256 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA256 -> m SHA256 | |
Show SHA256 | |
HashAlgorithm SHA256 | |
Defined in Crypto.Hash.SHA256 Associated Types type HashBlockSize SHA256 :: Nat Source # type HashDigestSize SHA256 :: Nat Source # type HashInternalContextSize SHA256 :: Nat Source # Methods hashBlockSize :: SHA256 -> Int Source # hashDigestSize :: SHA256 -> Int Source # hashInternalContextSize :: SHA256 -> Int Source # hashInternalInit :: Ptr (Context SHA256) -> IO () Source # hashInternalUpdate :: Ptr (Context SHA256) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context SHA256) -> Ptr (Digest SHA256) -> IO () Source # | |
HashAlgorithm SHA256 Source # | SHA256 cryptographic hash |
Defined in Crypto.Hash | |
type HashInternalContextSize SHA256 | |
Defined in Crypto.Hash.SHA256 | |
type HashDigestSize SHA256 | |
Defined in Crypto.Hash.SHA256 | |
type HashBlockSize SHA256 | |
Defined in Crypto.Hash.SHA256 |
SHA384 cryptographic hash algorithm
Constructors
SHA384 |
Instances
Data SHA384 | |
Defined in Crypto.Hash.SHA384 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA384 -> c SHA384 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA384 dataTypeOf :: SHA384 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA384) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA384) gmapT :: (forall b. Data b => b -> b) -> SHA384 -> SHA384 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA384 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA384 -> r gmapQ :: (forall d. Data d => d -> u) -> SHA384 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA384 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA384 -> m SHA384 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA384 -> m SHA384 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA384 -> m SHA384 | |
Show SHA384 | |
HashAlgorithm SHA384 | |
Defined in Crypto.Hash.SHA384 Associated Types type HashBlockSize SHA384 :: Nat Source # type HashDigestSize SHA384 :: Nat Source # type HashInternalContextSize SHA384 :: Nat Source # Methods hashBlockSize :: SHA384 -> Int Source # hashDigestSize :: SHA384 -> Int Source # hashInternalContextSize :: SHA384 -> Int Source # hashInternalInit :: Ptr (Context SHA384) -> IO () Source # hashInternalUpdate :: Ptr (Context SHA384) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context SHA384) -> Ptr (Digest SHA384) -> IO () Source # | |
HashAlgorithm SHA384 Source # | SHA384 cryptographic hash |
Defined in Crypto.Hash | |
type HashInternalContextSize SHA384 | |
Defined in Crypto.Hash.SHA384 | |
type HashDigestSize SHA384 | |
Defined in Crypto.Hash.SHA384 | |
type HashBlockSize SHA384 | |
Defined in Crypto.Hash.SHA384 |
SHA512 cryptographic hash algorithm
Constructors
SHA512 |
Instances
Data SHA512 | |
Defined in Crypto.Hash.SHA512 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA512 -> c SHA512 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA512 dataTypeOf :: SHA512 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA512) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA512) gmapT :: (forall b. Data b => b -> b) -> SHA512 -> SHA512 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA512 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA512 -> r gmapQ :: (forall d. Data d => d -> u) -> SHA512 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA512 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA512 -> m SHA512 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA512 -> m SHA512 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA512 -> m SHA512 | |
Show SHA512 | |
HashAlgorithm SHA512 | |
Defined in Crypto.Hash.SHA512 Associated Types type HashBlockSize SHA512 :: Nat Source # type HashDigestSize SHA512 :: Nat Source # type HashInternalContextSize SHA512 :: Nat Source # Methods hashBlockSize :: SHA512 -> Int Source # hashDigestSize :: SHA512 -> Int Source # hashInternalContextSize :: SHA512 -> Int Source # hashInternalInit :: Ptr (Context SHA512) -> IO () Source # hashInternalUpdate :: Ptr (Context SHA512) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context SHA512) -> Ptr (Digest SHA512) -> IO () Source # | |
HashAlgorithm SHA512 Source # | SHA512 cryptographic hash |
Defined in Crypto.Hash | |
type HashInternalContextSize SHA512 | |
Defined in Crypto.Hash.SHA512 | |
type HashDigestSize SHA512 | |
Defined in Crypto.Hash.SHA512 | |
type HashBlockSize SHA512 | |
Defined in Crypto.Hash.SHA512 |
RIPEMD160 cryptographic hash algorithm
Constructors
RIPEMD160 |
Instances
Data RIPEMD160 | |
Defined in Crypto.Hash.RIPEMD160 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RIPEMD160 -> c RIPEMD160 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RIPEMD160 toConstr :: RIPEMD160 -> Constr dataTypeOf :: RIPEMD160 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RIPEMD160) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RIPEMD160) gmapT :: (forall b. Data b => b -> b) -> RIPEMD160 -> RIPEMD160 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RIPEMD160 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RIPEMD160 -> r gmapQ :: (forall d. Data d => d -> u) -> RIPEMD160 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> RIPEMD160 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> RIPEMD160 -> m RIPEMD160 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RIPEMD160 -> m RIPEMD160 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RIPEMD160 -> m RIPEMD160 | |
Show RIPEMD160 | |
HashAlgorithm RIPEMD160 | |
Defined in Crypto.Hash.RIPEMD160 Associated Types type HashBlockSize RIPEMD160 :: Nat Source # type HashDigestSize RIPEMD160 :: Nat Source # type HashInternalContextSize RIPEMD160 :: Nat Source # Methods hashBlockSize :: RIPEMD160 -> Int Source # hashDigestSize :: RIPEMD160 -> Int Source # hashInternalContextSize :: RIPEMD160 -> Int Source # hashInternalInit :: Ptr (Context RIPEMD160) -> IO () Source # hashInternalUpdate :: Ptr (Context RIPEMD160) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context RIPEMD160) -> Ptr (Digest RIPEMD160) -> IO () Source # | |
HashAlgorithm RIPEMD160 Source # | RIPEMD160 cryptographic hash |
Defined in Crypto.Hash Methods hashBlockSize :: Context RIPEMD160 -> Int Source # hashInit :: Context RIPEMD160 Source # hashUpdates :: Context RIPEMD160 -> [ByteString] -> Context RIPEMD160 Source # hashFinalize :: Context RIPEMD160 -> Digest RIPEMD160 Source # digestFromByteString :: ByteString -> Maybe (Digest RIPEMD160) Source # | |
type HashInternalContextSize RIPEMD160 | |
Defined in Crypto.Hash.RIPEMD160 | |
type HashDigestSize RIPEMD160 | |
Defined in Crypto.Hash.RIPEMD160 | |
type HashBlockSize RIPEMD160 | |
Defined in Crypto.Hash.RIPEMD160 |
Tiger cryptographic hash algorithm
Constructors
Tiger |
Instances
Data Tiger | |
Defined in Crypto.Hash.Tiger Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Tiger -> c Tiger gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Tiger dataTypeOf :: Tiger -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Tiger) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tiger) gmapT :: (forall b. Data b => b -> b) -> Tiger -> Tiger gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tiger -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tiger -> r gmapQ :: (forall d. Data d => d -> u) -> Tiger -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Tiger -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Tiger -> m Tiger gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Tiger -> m Tiger gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Tiger -> m Tiger | |
Show Tiger | |
HashAlgorithm Tiger | |
Defined in Crypto.Hash.Tiger Associated Types type HashBlockSize Tiger :: Nat Source # type HashDigestSize Tiger :: Nat Source # type HashInternalContextSize Tiger :: Nat Source # Methods hashBlockSize :: Tiger -> Int Source # hashDigestSize :: Tiger -> Int Source # hashInternalContextSize :: Tiger -> Int Source # hashInternalInit :: Ptr (Context Tiger) -> IO () Source # hashInternalUpdate :: Ptr (Context Tiger) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context Tiger) -> Ptr (Digest Tiger) -> IO () Source # | |
HashAlgorithm Tiger Source # | Tiger cryptographic hash |
Defined in Crypto.Hash | |
type HashInternalContextSize Tiger | |
Defined in Crypto.Hash.Tiger | |
type HashDigestSize Tiger | |
Defined in Crypto.Hash.Tiger | |
type HashBlockSize Tiger | |
Defined in Crypto.Hash.Tiger |
SHA3 (224 bits) cryptographic hash algorithm
Constructors
SHA3_224 |
Instances
Data SHA3_224 | |
Defined in Crypto.Hash.SHA3 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA3_224 -> c SHA3_224 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA3_224 toConstr :: SHA3_224 -> Constr dataTypeOf :: SHA3_224 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA3_224) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA3_224) gmapT :: (forall b. Data b => b -> b) -> SHA3_224 -> SHA3_224 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_224 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_224 -> r gmapQ :: (forall d. Data d => d -> u) -> SHA3_224 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA3_224 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA3_224 -> m SHA3_224 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_224 -> m SHA3_224 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_224 -> m SHA3_224 | |
Show SHA3_224 | |
HashAlgorithm SHA3_224 | |
Defined in Crypto.Hash.SHA3 Associated Types type HashBlockSize SHA3_224 :: Nat Source # type HashDigestSize SHA3_224 :: Nat Source # type HashInternalContextSize SHA3_224 :: Nat Source # Methods hashBlockSize :: SHA3_224 -> Int Source # hashDigestSize :: SHA3_224 -> Int Source # hashInternalContextSize :: SHA3_224 -> Int Source # hashInternalInit :: Ptr (Context SHA3_224) -> IO () Source # hashInternalUpdate :: Ptr (Context SHA3_224) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context SHA3_224) -> Ptr (Digest SHA3_224) -> IO () Source # | |
HashAlgorithm SHA3_224 Source # | SHA3 (224 bits version) cryptographic hash |
Defined in Crypto.Hash | |
type HashInternalContextSize SHA3_224 | |
Defined in Crypto.Hash.SHA3 | |
type HashDigestSize SHA3_224 | |
Defined in Crypto.Hash.SHA3 | |
type HashBlockSize SHA3_224 | |
Defined in Crypto.Hash.SHA3 |
SHA3 (256 bits) cryptographic hash algorithm
Constructors
SHA3_256 |
Instances
Data SHA3_256 | |
Defined in Crypto.Hash.SHA3 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA3_256 -> c SHA3_256 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA3_256 toConstr :: SHA3_256 -> Constr dataTypeOf :: SHA3_256 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA3_256) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA3_256) gmapT :: (forall b. Data b => b -> b) -> SHA3_256 -> SHA3_256 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_256 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_256 -> r gmapQ :: (forall d. Data d => d -> u) -> SHA3_256 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA3_256 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA3_256 -> m SHA3_256 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_256 -> m SHA3_256 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_256 -> m SHA3_256 | |
Show SHA3_256 | |
HashAlgorithm SHA3_256 | |
Defined in Crypto.Hash.SHA3 Associated Types type HashBlockSize SHA3_256 :: Nat Source # type HashDigestSize SHA3_256 :: Nat Source # type HashInternalContextSize SHA3_256 :: Nat Source # Methods hashBlockSize :: SHA3_256 -> Int Source # hashDigestSize :: SHA3_256 -> Int Source # hashInternalContextSize :: SHA3_256 -> Int Source # hashInternalInit :: Ptr (Context SHA3_256) -> IO () Source # hashInternalUpdate :: Ptr (Context SHA3_256) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context SHA3_256) -> Ptr (Digest SHA3_256) -> IO () Source # | |
HashAlgorithm SHA3_256 Source # | SHA3 (256 bits version) cryptographic hash |
Defined in Crypto.Hash | |
type HashInternalContextSize SHA3_256 | |
Defined in Crypto.Hash.SHA3 | |
type HashDigestSize SHA3_256 | |
Defined in Crypto.Hash.SHA3 | |
type HashBlockSize SHA3_256 | |
Defined in Crypto.Hash.SHA3 |
SHA3 (384 bits) cryptographic hash algorithm
Constructors
SHA3_384 |
Instances
Data SHA3_384 | |
Defined in Crypto.Hash.SHA3 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA3_384 -> c SHA3_384 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA3_384 toConstr :: SHA3_384 -> Constr dataTypeOf :: SHA3_384 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA3_384) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA3_384) gmapT :: (forall b. Data b => b -> b) -> SHA3_384 -> SHA3_384 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_384 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_384 -> r gmapQ :: (forall d. Data d => d -> u) -> SHA3_384 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA3_384 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA3_384 -> m SHA3_384 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_384 -> m SHA3_384 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_384 -> m SHA3_384 | |
Show SHA3_384 | |
HashAlgorithm SHA3_384 | |
Defined in Crypto.Hash.SHA3 Associated Types type HashBlockSize SHA3_384 :: Nat Source # type HashDigestSize SHA3_384 :: Nat Source # type HashInternalContextSize SHA3_384 :: Nat Source # Methods hashBlockSize :: SHA3_384 -> Int Source # hashDigestSize :: SHA3_384 -> Int Source # hashInternalContextSize :: SHA3_384 -> Int Source # hashInternalInit :: Ptr (Context SHA3_384) -> IO () Source # hashInternalUpdate :: Ptr (Context SHA3_384) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context SHA3_384) -> Ptr (Digest SHA3_384) -> IO () Source # | |
HashAlgorithm SHA3_384 Source # | SHA3 (384 bits version) cryptographic hash |
Defined in Crypto.Hash | |
type HashInternalContextSize SHA3_384 | |
Defined in Crypto.Hash.SHA3 | |
type HashDigestSize SHA3_384 | |
Defined in Crypto.Hash.SHA3 | |
type HashBlockSize SHA3_384 | |
Defined in Crypto.Hash.SHA3 |
SHA3 (512 bits) cryptographic hash algorithm
Constructors
SHA3_512 |
Instances
Data SHA3_512 | |
Defined in Crypto.Hash.SHA3 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA3_512 -> c SHA3_512 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA3_512 toConstr :: SHA3_512 -> Constr dataTypeOf :: SHA3_512 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA3_512) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA3_512) gmapT :: (forall b. Data b => b -> b) -> SHA3_512 -> SHA3_512 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_512 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_512 -> r gmapQ :: (forall d. Data d => d -> u) -> SHA3_512 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA3_512 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA3_512 -> m SHA3_512 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_512 -> m SHA3_512 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_512 -> m SHA3_512 | |
Show SHA3_512 | |
HashAlgorithm SHA3_512 | |
Defined in Crypto.Hash.SHA3 Associated Types type HashBlockSize SHA3_512 :: Nat Source # type HashDigestSize SHA3_512 :: Nat Source # type HashInternalContextSize SHA3_512 :: Nat Source # Methods hashBlockSize :: SHA3_512 -> Int Source # hashDigestSize :: SHA3_512 -> Int Source # hashInternalContextSize :: SHA3_512 -> Int Source # hashInternalInit :: Ptr (Context SHA3_512) -> IO () Source # hashInternalUpdate :: Ptr (Context SHA3_512) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context SHA3_512) -> Ptr (Digest SHA3_512) -> IO () Source # | |
HashAlgorithm SHA3_512 Source # | SHA3 (512 bits version) cryptographic hash |
Defined in Crypto.Hash | |
type HashInternalContextSize SHA3_512 | |
Defined in Crypto.Hash.SHA3 | |
type HashDigestSize SHA3_512 | |
Defined in Crypto.Hash.SHA3 | |
type HashBlockSize SHA3_512 | |
Defined in Crypto.Hash.SHA3 |
data Skein256_224 Source #
Skein256 (224 bits) cryptographic hash algorithm
Constructors
Skein256_224 |
Instances
Data Skein256_224 | |
Defined in Crypto.Hash.Skein256 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Skein256_224 -> c Skein256_224 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Skein256_224 toConstr :: Skein256_224 -> Constr dataTypeOf :: Skein256_224 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Skein256_224) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Skein256_224) gmapT :: (forall b. Data b => b -> b) -> Skein256_224 -> Skein256_224 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Skein256_224 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Skein256_224 -> r gmapQ :: (forall d. Data d => d -> u) -> Skein256_224 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Skein256_224 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Skein256_224 -> m Skein256_224 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein256_224 -> m Skein256_224 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein256_224 -> m Skein256_224 | |
Show Skein256_224 | |
Defined in Crypto.Hash.Skein256 Methods showsPrec :: Int -> Skein256_224 -> ShowS show :: Skein256_224 -> String showList :: [Skein256_224] -> ShowS | |
HashAlgorithm Skein256_224 | |
Defined in Crypto.Hash.Skein256 Associated Types type HashBlockSize Skein256_224 :: Nat Source # type HashDigestSize Skein256_224 :: Nat Source # type HashInternalContextSize Skein256_224 :: Nat Source # Methods hashBlockSize :: Skein256_224 -> Int Source # hashDigestSize :: Skein256_224 -> Int Source # hashInternalContextSize :: Skein256_224 -> Int Source # hashInternalInit :: Ptr (Context Skein256_224) -> IO () Source # hashInternalUpdate :: Ptr (Context Skein256_224) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context Skein256_224) -> Ptr (Digest Skein256_224) -> IO () Source # | |
HashAlgorithm Skein256_224 Source # | Skein256 (224 bits version) cryptographic hash |
Defined in Crypto.Hash Methods hashBlockSize :: Context Skein256_224 -> Int Source # hashInit :: Context Skein256_224 Source # hashUpdates :: Context Skein256_224 -> [ByteString] -> Context Skein256_224 Source # hashFinalize :: Context Skein256_224 -> Digest Skein256_224 Source # digestFromByteString :: ByteString -> Maybe (Digest Skein256_224) Source # | |
type HashInternalContextSize Skein256_224 | |
Defined in Crypto.Hash.Skein256 | |
type HashDigestSize Skein256_224 | |
Defined in Crypto.Hash.Skein256 | |
type HashBlockSize Skein256_224 | |
Defined in Crypto.Hash.Skein256 |
data Skein256_256 Source #
Skein256 (256 bits) cryptographic hash algorithm
Constructors
Skein256_256 |
Instances
Data Skein256_256 | |
Defined in Crypto.Hash.Skein256 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Skein256_256 -> c Skein256_256 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Skein256_256 toConstr :: Skein256_256 -> Constr dataTypeOf :: Skein256_256 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Skein256_256) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Skein256_256) gmapT :: (forall b. Data b => b -> b) -> Skein256_256 -> Skein256_256 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Skein256_256 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Skein256_256 -> r gmapQ :: (forall d. Data d => d -> u) -> Skein256_256 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Skein256_256 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Skein256_256 -> m Skein256_256 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein256_256 -> m Skein256_256 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein256_256 -> m Skein256_256 | |
Show Skein256_256 | |
Defined in Crypto.Hash.Skein256 Methods showsPrec :: Int -> Skein256_256 -> ShowS show :: Skein256_256 -> String showList :: [Skein256_256] -> ShowS | |
HashAlgorithm Skein256_256 | |
Defined in Crypto.Hash.Skein256 Associated Types type HashBlockSize Skein256_256 :: Nat Source # type HashDigestSize Skein256_256 :: Nat Source # type HashInternalContextSize Skein256_256 :: Nat Source # Methods hashBlockSize :: Skein256_256 -> Int Source # hashDigestSize :: Skein256_256 -> Int Source # hashInternalContextSize :: Skein256_256 -> Int Source # hashInternalInit :: Ptr (Context Skein256_256) -> IO () Source # hashInternalUpdate :: Ptr (Context Skein256_256) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context Skein256_256) -> Ptr (Digest Skein256_256) -> IO () Source # | |
HashAlgorithm Skein256_256 Source # | Skein256 (256 bits version) cryptographic hash |
Defined in Crypto.Hash Methods hashBlockSize :: Context Skein256_256 -> Int Source # hashInit :: Context Skein256_256 Source # hashUpdates :: Context Skein256_256 -> [ByteString] -> Context Skein256_256 Source # hashFinalize :: Context Skein256_256 -> Digest Skein256_256 Source # digestFromByteString :: ByteString -> Maybe (Digest Skein256_256) Source # | |
type HashInternalContextSize Skein256_256 | |
Defined in Crypto.Hash.Skein256 | |
type HashDigestSize Skein256_256 | |
Defined in Crypto.Hash.Skein256 | |
type HashBlockSize Skein256_256 | |
Defined in Crypto.Hash.Skein256 |
data Skein512_224 Source #
Skein512 (224 bits) cryptographic hash algorithm
Constructors
Skein512_224 |
Instances
Data Skein512_224 | |
Defined in Crypto.Hash.Skein512 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Skein512_224 -> c Skein512_224 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Skein512_224 toConstr :: Skein512_224 -> Constr dataTypeOf :: Skein512_224 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Skein512_224) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Skein512_224) gmapT :: (forall b. Data b => b -> b) -> Skein512_224 -> Skein512_224 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Skein512_224 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Skein512_224 -> r gmapQ :: (forall d. Data d => d -> u) -> Skein512_224 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Skein512_224 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Skein512_224 -> m Skein512_224 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein512_224 -> m Skein512_224 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein512_224 -> m Skein512_224 | |
Show Skein512_224 | |
Defined in Crypto.Hash.Skein512 Methods showsPrec :: Int -> Skein512_224 -> ShowS show :: Skein512_224 -> String showList :: [Skein512_224] -> ShowS | |
HashAlgorithm Skein512_224 | |
Defined in Crypto.Hash.Skein512 Associated Types type HashBlockSize Skein512_224 :: Nat Source # type HashDigestSize Skein512_224 :: Nat Source # type HashInternalContextSize Skein512_224 :: Nat Source # Methods hashBlockSize :: Skein512_224 -> Int Source # hashDigestSize :: Skein512_224 -> Int Source # hashInternalContextSize :: Skein512_224 -> Int Source # hashInternalInit :: Ptr (Context Skein512_224) -> IO () Source # hashInternalUpdate :: Ptr (Context Skein512_224) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context Skein512_224) -> Ptr (Digest Skein512_224) -> IO () Source # | |
HashAlgorithm Skein512_224 Source # | Skein512 (224 bits version) cryptographic hash |
Defined in Crypto.Hash Methods hashBlockSize :: Context Skein512_224 -> Int Source # hashInit :: Context Skein512_224 Source # hashUpdates :: Context Skein512_224 -> [ByteString] -> Context Skein512_224 Source # hashFinalize :: Context Skein512_224 -> Digest Skein512_224 Source # digestFromByteString :: ByteString -> Maybe (Digest Skein512_224) Source # | |
type HashInternalContextSize Skein512_224 | |
Defined in Crypto.Hash.Skein512 | |
type HashDigestSize Skein512_224 | |
Defined in Crypto.Hash.Skein512 | |
type HashBlockSize Skein512_224 | |
Defined in Crypto.Hash.Skein512 |
data Skein512_256 Source #
Skein512 (256 bits) cryptographic hash algorithm
Constructors
Skein512_256 |
Instances
Data Skein512_256 | |
Defined in Crypto.Hash.Skein512 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Skein512_256 -> c Skein512_256 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Skein512_256 toConstr :: Skein512_256 -> Constr dataTypeOf :: Skein512_256 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Skein512_256) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Skein512_256) gmapT :: (forall b. Data b => b -> b) -> Skein512_256 -> Skein512_256 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Skein512_256 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Skein512_256 -> r gmapQ :: (forall d. Data d => d -> u) -> Skein512_256 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Skein512_256 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Skein512_256 -> m Skein512_256 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein512_256 -> m Skein512_256 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein512_256 -> m Skein512_256 | |
Show Skein512_256 | |
Defined in Crypto.Hash.Skein512 Methods showsPrec :: Int -> Skein512_256 -> ShowS show :: Skein512_256 -> String showList :: [Skein512_256] -> ShowS | |
HashAlgorithm Skein512_256 | |
Defined in Crypto.Hash.Skein512 Associated Types type HashBlockSize Skein512_256 :: Nat Source # type HashDigestSize Skein512_256 :: Nat Source # type HashInternalContextSize Skein512_256 :: Nat Source # Methods hashBlockSize :: Skein512_256 -> Int Source # hashDigestSize :: Skein512_256 -> Int Source # hashInternalContextSize :: Skein512_256 -> Int Source # hashInternalInit :: Ptr (Context Skein512_256) -> IO () Source # hashInternalUpdate :: Ptr (Context Skein512_256) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context Skein512_256) -> Ptr (Digest Skein512_256) -> IO () Source # | |
HashAlgorithm Skein512_256 Source # | Skein512 (256 bits version) cryptographic hash |
Defined in Crypto.Hash Methods hashBlockSize :: Context Skein512_256 -> Int Source # hashInit :: Context Skein512_256 Source # hashUpdates :: Context Skein512_256 -> [ByteString] -> Context Skein512_256 Source # hashFinalize :: Context Skein512_256 -> Digest Skein512_256 Source # digestFromByteString :: ByteString -> Maybe (Digest Skein512_256) Source # | |
type HashInternalContextSize Skein512_256 | |
Defined in Crypto.Hash.Skein512 | |
type HashDigestSize Skein512_256 | |
Defined in Crypto.Hash.Skein512 | |
type HashBlockSize Skein512_256 | |
Defined in Crypto.Hash.Skein512 |
data Skein512_384 Source #
Skein512 (384 bits) cryptographic hash algorithm
Constructors
Skein512_384 |
Instances
Data Skein512_384 | |
Defined in Crypto.Hash.Skein512 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Skein512_384 -> c Skein512_384 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Skein512_384 toConstr :: Skein512_384 -> Constr dataTypeOf :: Skein512_384 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Skein512_384) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Skein512_384) gmapT :: (forall b. Data b => b -> b) -> Skein512_384 -> Skein512_384 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Skein512_384 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Skein512_384 -> r gmapQ :: (forall d. Data d => d -> u) -> Skein512_384 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Skein512_384 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Skein512_384 -> m Skein512_384 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein512_384 -> m Skein512_384 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein512_384 -> m Skein512_384 | |
Show Skein512_384 | |
Defined in Crypto.Hash.Skein512 Methods showsPrec :: Int -> Skein512_384 -> ShowS show :: Skein512_384 -> String showList :: [Skein512_384] -> ShowS | |
HashAlgorithm Skein512_384 | |
Defined in Crypto.Hash.Skein512 Associated Types type HashBlockSize Skein512_384 :: Nat Source # type HashDigestSize Skein512_384 :: Nat Source # type HashInternalContextSize Skein512_384 :: Nat Source # Methods hashBlockSize :: Skein512_384 -> Int Source # hashDigestSize :: Skein512_384 -> Int Source # hashInternalContextSize :: Skein512_384 -> Int Source # hashInternalInit :: Ptr (Context Skein512_384) -> IO () Source # hashInternalUpdate :: Ptr (Context Skein512_384) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context Skein512_384) -> Ptr (Digest Skein512_384) -> IO () Source # | |
HashAlgorithm Skein512_384 Source # | Skein512 (384 bits version) cryptographic hash |
Defined in Crypto.Hash Methods hashBlockSize :: Context Skein512_384 -> Int Source # hashInit :: Context Skein512_384 Source # hashUpdates :: Context Skein512_384 -> [ByteString] -> Context Skein512_384 Source # hashFinalize :: Context Skein512_384 -> Digest Skein512_384 Source # digestFromByteString :: ByteString -> Maybe (Digest Skein512_384) Source # | |
type HashInternalContextSize Skein512_384 | |
Defined in Crypto.Hash.Skein512 | |
type HashDigestSize Skein512_384 | |
Defined in Crypto.Hash.Skein512 | |
type HashBlockSize Skein512_384 | |
Defined in Crypto.Hash.Skein512 |
data Skein512_512 Source #
Skein512 (512 bits) cryptographic hash algorithm
Constructors
Skein512_512 |
Instances
Data Skein512_512 | |
Defined in Crypto.Hash.Skein512 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Skein512_512 -> c Skein512_512 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Skein512_512 toConstr :: Skein512_512 -> Constr dataTypeOf :: Skein512_512 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Skein512_512) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Skein512_512) gmapT :: (forall b. Data b => b -> b) -> Skein512_512 -> Skein512_512 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Skein512_512 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Skein512_512 -> r gmapQ :: (forall d. Data d => d -> u) -> Skein512_512 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Skein512_512 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Skein512_512 -> m Skein512_512 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein512_512 -> m Skein512_512 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein512_512 -> m Skein512_512 | |
Show Skein512_512 | |
Defined in Crypto.Hash.Skein512 Methods showsPrec :: Int -> Skein512_512 -> ShowS show :: Skein512_512 -> String showList :: [Skein512_512] -> ShowS | |
HashAlgorithm Skein512_512 | |
Defined in Crypto.Hash.Skein512 Associated Types type HashBlockSize Skein512_512 :: Nat Source # type HashDigestSize Skein512_512 :: Nat Source # type HashInternalContextSize Skein512_512 :: Nat Source # Methods hashBlockSize :: Skein512_512 -> Int Source # hashDigestSize :: Skein512_512 -> Int Source # hashInternalContextSize :: Skein512_512 -> Int Source # hashInternalInit :: Ptr (Context Skein512_512) -> IO () Source # hashInternalUpdate :: Ptr (Context Skein512_512) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context Skein512_512) -> Ptr (Digest Skein512_512) -> IO () Source # | |
HashAlgorithm Skein512_512 Source # | Skein512 (512 bits version) cryptographic hash |
Defined in Crypto.Hash Methods hashBlockSize :: Context Skein512_512 -> Int Source # hashInit :: Context Skein512_512 Source # hashUpdates :: Context Skein512_512 -> [ByteString] -> Context Skein512_512 Source # hashFinalize :: Context Skein512_512 -> Digest Skein512_512 Source # digestFromByteString :: ByteString -> Maybe (Digest Skein512_512) Source # | |
type HashInternalContextSize Skein512_512 | |
Defined in Crypto.Hash.Skein512 | |
type HashDigestSize Skein512_512 | |
Defined in Crypto.Hash.Skein512 | |
type HashBlockSize Skein512_512 | |
Defined in Crypto.Hash.Skein512 |
Whirlpool cryptographic hash algorithm
Constructors
Whirlpool |
Instances
Data Whirlpool | |
Defined in Crypto.Hash.Whirlpool Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Whirlpool -> c Whirlpool gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Whirlpool toConstr :: Whirlpool -> Constr dataTypeOf :: Whirlpool -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Whirlpool) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Whirlpool) gmapT :: (forall b. Data b => b -> b) -> Whirlpool -> Whirlpool gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Whirlpool -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Whirlpool -> r gmapQ :: (forall d. Data d => d -> u) -> Whirlpool -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Whirlpool -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Whirlpool -> m Whirlpool gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Whirlpool -> m Whirlpool gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Whirlpool -> m Whirlpool | |
Show Whirlpool | |
HashAlgorithm Whirlpool | |
Defined in Crypto.Hash.Whirlpool Associated Types type HashBlockSize Whirlpool :: Nat Source # type HashDigestSize Whirlpool :: Nat Source # type HashInternalContextSize Whirlpool :: Nat Source # Methods hashBlockSize :: Whirlpool -> Int Source # hashDigestSize :: Whirlpool -> Int Source # hashInternalContextSize :: Whirlpool -> Int Source # hashInternalInit :: Ptr (Context Whirlpool) -> IO () Source # hashInternalUpdate :: Ptr (Context Whirlpool) -> Ptr Word8 -> Word32 -> IO () Source # hashInternalFinalize :: Ptr (Context Whirlpool) -> Ptr (Digest Whirlpool) -> IO () Source # | |
HashAlgorithm Whirlpool Source # | Whirlpool cryptographic hash |
Defined in Crypto.Hash Methods hashBlockSize :: Context Whirlpool -> Int Source # hashInit :: Context Whirlpool Source # hashUpdates :: Context Whirlpool -> [ByteString] -> Context Whirlpool Source # hashFinalize :: Context Whirlpool -> Digest Whirlpool Source # digestFromByteString :: ByteString -> Maybe (Digest Whirlpool) Source # | |
type HashInternalContextSize Whirlpool | |
Defined in Crypto.Hash.Whirlpool | |
type HashDigestSize Whirlpool | |
Defined in Crypto.Hash.Whirlpool | |
type HashBlockSize Whirlpool | |
Defined in Crypto.Hash.Whirlpool |
MAC algorithms
Represent an HMAC that is a phantom type with the hash used to produce the mac.
The Eq instance is constant time.
Constructors
HMAC | |
Fields
|
Arguments
:: HashAlgorithm a | |
=> ByteString | Secret key |
-> ByteString | Message to MAC |
-> HMAC a |
compute a MAC using the supplied hashing function
Arguments
:: HashAlgorithm a | |
=> a | the hash algorithm the actual value is unused. |
-> ByteString | Secret key |
-> ByteString | Message to MAC |
-> HMAC a |
compute a HMAC using a specified algorithm