cryptohash-0.11.9: collection of crypto hashes, fast, pure and practical
LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
Portabilityunknown
Safe HaskellTrustworthy
LanguageHaskell98

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

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

Instances details
HashAlgorithm MD2 Source #

MD2 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm MD4 Source #

MD4 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm MD5 Source #

MD5 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm RIPEMD160 Source #

RIPEMD160 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA1 Source #

SHA1 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA224 Source #

SHA224 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA256 Source #

SHA256 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA3_224 Source #

SHA3 (224 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA3_256 Source #

SHA3 (256 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA3_384 Source #

SHA3 (384 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA3_512 Source #

SHA3 (512 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA384 Source #

SHA384 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA512 Source #

SHA512 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein256_224 Source #

Skein256 (224 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein256_256 Source #

Skein256 (256 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein512_224 Source #

Skein512 (224 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein512_256 Source #

Skein512 (256 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein512_384 Source #

Skein512 (384 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein512_512 Source #

Skein512 (512 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Tiger Source #

Tiger cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Whirlpool Source #

Whirlpool cryptographic hash

Instance details

Defined in Crypto.Hash

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

data Context a Source #

Represent a context for a given hash algorithm.

Instances

Instances details
Byteable (Context a) Source # 
Instance details

Defined in Crypto.Hash.Types

Methods

toBytes :: Context a -> ByteString Source #

byteableLength :: Context a -> Int Source #

withBytePtr :: Context a -> (Ptr Word8 -> IO b) -> IO b Source #

data Digest a Source #

Represent a digest for a given hash algorithm.

Instances

Instances details
Eq (Digest a) Source # 
Instance details

Defined in Crypto.Hash.Types

Methods

(==) :: Digest a -> Digest a -> Bool

(/=) :: Digest a -> Digest a -> Bool

Ord (Digest a) Source # 
Instance details

Defined in Crypto.Hash.Types

Methods

compare :: Digest a -> Digest a -> Ordering

(<) :: Digest a -> Digest a -> Bool

(<=) :: Digest a -> Digest a -> Bool

(>) :: Digest a -> Digest a -> Bool

(>=) :: Digest a -> Digest a -> Bool

max :: Digest a -> Digest a -> Digest a

min :: Digest a -> Digest a -> Digest a

Show (Digest a) Source # 
Instance details

Defined in Crypto.Hash.Types

Methods

showsPrec :: Int -> Digest a -> ShowS

show :: Digest a -> String

showList :: [Digest a] -> ShowS

Byteable (Digest a) Source # 
Instance details

Defined in Crypto.Hash.Types

Methods

toBytes :: Digest a -> ByteString Source #

byteableLength :: Digest a -> Int Source #

withBytePtr :: Digest a -> (Ptr Word8 -> IO b) -> IO b Source #

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

data MD2 Source #

MD2 cryptographic hash algorithm

Constructors

MD2 

Instances

Instances details
Data MD2 
Instance details

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

toConstr :: MD2 -> Constr

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 
Instance details

Defined in Crypto.Hash.MD2

Methods

showsPrec :: Int -> MD2 -> ShowS

show :: MD2 -> String

showList :: [MD2] -> ShowS

HashAlgorithm MD2 
Instance details

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

Instance details

Defined in Crypto.Hash

type HashInternalContextSize MD2 
Instance details

Defined in Crypto.Hash.MD2

type HashDigestSize MD2 
Instance details

Defined in Crypto.Hash.MD2

type HashBlockSize MD2 
Instance details

Defined in Crypto.Hash.MD2

type HashBlockSize MD2 = 16

data MD4 Source #

MD4 cryptographic hash algorithm

Constructors

MD4 

Instances

Instances details
Data MD4 
Instance details

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

toConstr :: MD4 -> Constr

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 
Instance details

Defined in Crypto.Hash.MD4

Methods

showsPrec :: Int -> MD4 -> ShowS

show :: MD4 -> String

showList :: [MD4] -> ShowS

HashAlgorithm MD4 
Instance details

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

Instance details

Defined in Crypto.Hash

type HashInternalContextSize MD4 
Instance details

Defined in Crypto.Hash.MD4

type HashDigestSize MD4 
Instance details

Defined in Crypto.Hash.MD4

type HashBlockSize MD4 
Instance details

Defined in Crypto.Hash.MD4

type HashBlockSize MD4 = 64

data MD5 Source #

MD5 cryptographic hash algorithm

Constructors

MD5 

Instances

Instances details
Data MD5 
Instance details

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

toConstr :: MD5 -> Constr

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 
Instance details

Defined in Crypto.Hash.MD5

Methods

showsPrec :: Int -> MD5 -> ShowS

show :: MD5 -> String

showList :: [MD5] -> ShowS

HashAlgorithm MD5 
Instance details

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

Instance details

Defined in Crypto.Hash

type HashInternalContextSize MD5 
Instance details

Defined in Crypto.Hash.MD5

type HashDigestSize MD5 
Instance details

Defined in Crypto.Hash.MD5

type HashBlockSize MD5 
Instance details

Defined in Crypto.Hash.MD5

type HashBlockSize MD5 = 64

data SHA1 Source #

SHA1 cryptographic hash algorithm

Constructors

SHA1 

Instances

Instances details
Data SHA1 
Instance details

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

toConstr :: SHA1 -> Constr

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 
Instance details

Defined in Crypto.Hash.SHA1

Methods

showsPrec :: Int -> SHA1 -> ShowS

show :: SHA1 -> String

showList :: [SHA1] -> ShowS

HashAlgorithm SHA1 
Instance details

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

Instance details

Defined in Crypto.Hash

type HashInternalContextSize SHA1 
Instance details

Defined in Crypto.Hash.SHA1

type HashDigestSize SHA1 
Instance details

Defined in Crypto.Hash.SHA1

type HashBlockSize SHA1 
Instance details

Defined in Crypto.Hash.SHA1

data SHA224 Source #

SHA224 cryptographic hash algorithm

Constructors

SHA224 

Instances

Instances details
Data SHA224 
Instance details

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

toConstr :: SHA224 -> Constr

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 
Instance details

Defined in Crypto.Hash.SHA224

Methods

showsPrec :: Int -> SHA224 -> ShowS

show :: SHA224 -> String

showList :: [SHA224] -> ShowS

HashAlgorithm SHA224 
Instance details

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

Instance details

Defined in Crypto.Hash

type HashInternalContextSize SHA224 
Instance details

Defined in Crypto.Hash.SHA224

type HashDigestSize SHA224 
Instance details

Defined in Crypto.Hash.SHA224

type HashBlockSize SHA224 
Instance details

Defined in Crypto.Hash.SHA224

data SHA256 Source #

SHA256 cryptographic hash algorithm

Constructors

SHA256 

Instances

Instances details
Data SHA256 
Instance details

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

toConstr :: SHA256 -> Constr

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 
Instance details

Defined in Crypto.Hash.SHA256

Methods

showsPrec :: Int -> SHA256 -> ShowS

show :: SHA256 -> String

showList :: [SHA256] -> ShowS

HashAlgorithm SHA256 
Instance details

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

Instance details

Defined in Crypto.Hash

type HashInternalContextSize SHA256 
Instance details

Defined in Crypto.Hash.SHA256

type HashDigestSize SHA256 
Instance details

Defined in Crypto.Hash.SHA256

type HashBlockSize SHA256 
Instance details

Defined in Crypto.Hash.SHA256

data SHA384 Source #

SHA384 cryptographic hash algorithm

Constructors

SHA384 

Instances

Instances details
Data SHA384 
Instance details

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

toConstr :: SHA384 -> Constr

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 
Instance details

Defined in Crypto.Hash.SHA384

Methods

showsPrec :: Int -> SHA384 -> ShowS

show :: SHA384 -> String

showList :: [SHA384] -> ShowS

HashAlgorithm SHA384 
Instance details

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

Instance details

Defined in Crypto.Hash

type HashInternalContextSize SHA384 
Instance details

Defined in Crypto.Hash.SHA384

type HashDigestSize SHA384 
Instance details

Defined in Crypto.Hash.SHA384

type HashBlockSize SHA384 
Instance details

Defined in Crypto.Hash.SHA384

data SHA512 Source #

SHA512 cryptographic hash algorithm

Constructors

SHA512 

Instances

Instances details
Data SHA512 
Instance details

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

toConstr :: SHA512 -> Constr

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 
Instance details

Defined in Crypto.Hash.SHA512

Methods

showsPrec :: Int -> SHA512 -> ShowS

show :: SHA512 -> String

showList :: [SHA512] -> ShowS

HashAlgorithm SHA512 
Instance details

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

Instance details

Defined in Crypto.Hash

type HashInternalContextSize SHA512 
Instance details

Defined in Crypto.Hash.SHA512

type HashDigestSize SHA512 
Instance details

Defined in Crypto.Hash.SHA512

type HashBlockSize SHA512 
Instance details

Defined in Crypto.Hash.SHA512

data RIPEMD160 Source #

RIPEMD160 cryptographic hash algorithm

Constructors

RIPEMD160 

Instances

Instances details
Data RIPEMD160 
Instance details

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 
Instance details

Defined in Crypto.Hash.RIPEMD160

Methods

showsPrec :: Int -> RIPEMD160 -> ShowS

show :: RIPEMD160 -> String

showList :: [RIPEMD160] -> ShowS

HashAlgorithm RIPEMD160 
Instance details

Defined in Crypto.Hash.RIPEMD160

HashAlgorithm RIPEMD160 Source #

RIPEMD160 cryptographic hash

Instance details

Defined in Crypto.Hash

type HashInternalContextSize RIPEMD160 
Instance details

Defined in Crypto.Hash.RIPEMD160

type HashDigestSize RIPEMD160 
Instance details

Defined in Crypto.Hash.RIPEMD160

type HashBlockSize RIPEMD160 
Instance details

Defined in Crypto.Hash.RIPEMD160

data Tiger Source #

Tiger cryptographic hash algorithm

Constructors

Tiger 

Instances

Instances details
Data Tiger 
Instance details

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

toConstr :: Tiger -> Constr

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 
Instance details

Defined in Crypto.Hash.Tiger

Methods

showsPrec :: Int -> Tiger -> ShowS

show :: Tiger -> String

showList :: [Tiger] -> ShowS

HashAlgorithm Tiger 
Instance details

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

Instance details

Defined in Crypto.Hash

type HashInternalContextSize Tiger 
Instance details

Defined in Crypto.Hash.Tiger

type HashDigestSize Tiger 
Instance details

Defined in Crypto.Hash.Tiger

type HashBlockSize Tiger 
Instance details

Defined in Crypto.Hash.Tiger

data SHA3_224 Source #

SHA3 (224 bits) cryptographic hash algorithm

Constructors

SHA3_224 

Instances

Instances details
Data SHA3_224 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA3

Methods

showsPrec :: Int -> SHA3_224 -> ShowS

show :: SHA3_224 -> String

showList :: [SHA3_224] -> ShowS

HashAlgorithm SHA3_224 
Instance details

Defined in Crypto.Hash.SHA3

HashAlgorithm SHA3_224 Source #

SHA3 (224 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

type HashInternalContextSize SHA3_224 
Instance details

Defined in Crypto.Hash.SHA3

type HashDigestSize SHA3_224 
Instance details

Defined in Crypto.Hash.SHA3

type HashBlockSize SHA3_224 
Instance details

Defined in Crypto.Hash.SHA3

data SHA3_256 Source #

SHA3 (256 bits) cryptographic hash algorithm

Constructors

SHA3_256 

Instances

Instances details
Data SHA3_256 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA3

Methods

showsPrec :: Int -> SHA3_256 -> ShowS

show :: SHA3_256 -> String

showList :: [SHA3_256] -> ShowS

HashAlgorithm SHA3_256 
Instance details

Defined in Crypto.Hash.SHA3

HashAlgorithm SHA3_256 Source #

SHA3 (256 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

type HashInternalContextSize SHA3_256 
Instance details

Defined in Crypto.Hash.SHA3

type HashDigestSize SHA3_256 
Instance details

Defined in Crypto.Hash.SHA3

type HashBlockSize SHA3_256 
Instance details

Defined in Crypto.Hash.SHA3

data SHA3_384 Source #

SHA3 (384 bits) cryptographic hash algorithm

Constructors

SHA3_384 

Instances

Instances details
Data SHA3_384 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA3

Methods

showsPrec :: Int -> SHA3_384 -> ShowS

show :: SHA3_384 -> String

showList :: [SHA3_384] -> ShowS

HashAlgorithm SHA3_384 
Instance details

Defined in Crypto.Hash.SHA3

HashAlgorithm SHA3_384 Source #

SHA3 (384 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

type HashInternalContextSize SHA3_384 
Instance details

Defined in Crypto.Hash.SHA3

type HashDigestSize SHA3_384 
Instance details

Defined in Crypto.Hash.SHA3

type HashBlockSize SHA3_384 
Instance details

Defined in Crypto.Hash.SHA3

data SHA3_512 Source #

SHA3 (512 bits) cryptographic hash algorithm

Constructors

SHA3_512 

Instances

Instances details
Data SHA3_512 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA3

Methods

showsPrec :: Int -> SHA3_512 -> ShowS

show :: SHA3_512 -> String

showList :: [SHA3_512] -> ShowS

HashAlgorithm SHA3_512 
Instance details

Defined in Crypto.Hash.SHA3

HashAlgorithm SHA3_512 Source #

SHA3 (512 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

type HashInternalContextSize SHA3_512 
Instance details

Defined in Crypto.Hash.SHA3

type HashDigestSize SHA3_512 
Instance details

Defined in Crypto.Hash.SHA3

type HashBlockSize SHA3_512 
Instance details

Defined in Crypto.Hash.SHA3

data Skein256_224 Source #

Skein256 (224 bits) cryptographic hash algorithm

Constructors

Skein256_224 

Instances

Instances details
Data Skein256_224 
Instance details

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 
Instance details

Defined in Crypto.Hash.Skein256

Methods

showsPrec :: Int -> Skein256_224 -> ShowS

show :: Skein256_224 -> String

showList :: [Skein256_224] -> ShowS

HashAlgorithm Skein256_224 
Instance details

Defined in Crypto.Hash.Skein256

HashAlgorithm Skein256_224 Source #

Skein256 (224 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

type HashInternalContextSize Skein256_224 
Instance details

Defined in Crypto.Hash.Skein256

type HashDigestSize Skein256_224 
Instance details

Defined in Crypto.Hash.Skein256

type HashBlockSize Skein256_224 
Instance details

Defined in Crypto.Hash.Skein256

data Skein256_256 Source #

Skein256 (256 bits) cryptographic hash algorithm

Constructors

Skein256_256 

Instances

Instances details
Data Skein256_256 
Instance details

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 
Instance details

Defined in Crypto.Hash.Skein256

Methods

showsPrec :: Int -> Skein256_256 -> ShowS

show :: Skein256_256 -> String

showList :: [Skein256_256] -> ShowS

HashAlgorithm Skein256_256 
Instance details

Defined in Crypto.Hash.Skein256

HashAlgorithm Skein256_256 Source #

Skein256 (256 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

type HashInternalContextSize Skein256_256 
Instance details

Defined in Crypto.Hash.Skein256

type HashDigestSize Skein256_256 
Instance details

Defined in Crypto.Hash.Skein256

type HashBlockSize Skein256_256 
Instance details

Defined in Crypto.Hash.Skein256

data Skein512_224 Source #

Skein512 (224 bits) cryptographic hash algorithm

Constructors

Skein512_224 

Instances

Instances details
Data Skein512_224 
Instance details

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 
Instance details

Defined in Crypto.Hash.Skein512

Methods

showsPrec :: Int -> Skein512_224 -> ShowS

show :: Skein512_224 -> String

showList :: [Skein512_224] -> ShowS

HashAlgorithm Skein512_224 
Instance details

Defined in Crypto.Hash.Skein512

HashAlgorithm Skein512_224 Source #

Skein512 (224 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

type HashInternalContextSize Skein512_224 
Instance details

Defined in Crypto.Hash.Skein512

type HashDigestSize Skein512_224 
Instance details

Defined in Crypto.Hash.Skein512

type HashBlockSize Skein512_224 
Instance details

Defined in Crypto.Hash.Skein512

data Skein512_256 Source #

Skein512 (256 bits) cryptographic hash algorithm

Constructors

Skein512_256 

Instances

Instances details
Data Skein512_256 
Instance details

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 
Instance details

Defined in Crypto.Hash.Skein512

Methods

showsPrec :: Int -> Skein512_256 -> ShowS

show :: Skein512_256 -> String

showList :: [Skein512_256] -> ShowS

HashAlgorithm Skein512_256 
Instance details

Defined in Crypto.Hash.Skein512

HashAlgorithm Skein512_256 Source #

Skein512 (256 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

type HashInternalContextSize Skein512_256 
Instance details

Defined in Crypto.Hash.Skein512

type HashDigestSize Skein512_256 
Instance details

Defined in Crypto.Hash.Skein512

type HashBlockSize Skein512_256 
Instance details

Defined in Crypto.Hash.Skein512

data Skein512_384 Source #

Skein512 (384 bits) cryptographic hash algorithm

Constructors

Skein512_384 

Instances

Instances details
Data Skein512_384 
Instance details

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 
Instance details

Defined in Crypto.Hash.Skein512

Methods

showsPrec :: Int -> Skein512_384 -> ShowS

show :: Skein512_384 -> String

showList :: [Skein512_384] -> ShowS

HashAlgorithm Skein512_384 
Instance details

Defined in Crypto.Hash.Skein512

HashAlgorithm Skein512_384 Source #

Skein512 (384 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

type HashInternalContextSize Skein512_384 
Instance details

Defined in Crypto.Hash.Skein512

type HashDigestSize Skein512_384 
Instance details

Defined in Crypto.Hash.Skein512

type HashBlockSize Skein512_384 
Instance details

Defined in Crypto.Hash.Skein512

data Skein512_512 Source #

Skein512 (512 bits) cryptographic hash algorithm

Constructors

Skein512_512 

Instances

Instances details
Data Skein512_512 
Instance details

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 
Instance details

Defined in Crypto.Hash.Skein512

Methods

showsPrec :: Int -> Skein512_512 -> ShowS

show :: Skein512_512 -> String

showList :: [Skein512_512] -> ShowS

HashAlgorithm Skein512_512 
Instance details

Defined in Crypto.Hash.Skein512

HashAlgorithm Skein512_512 Source #

Skein512 (512 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

type HashInternalContextSize Skein512_512 
Instance details

Defined in Crypto.Hash.Skein512

type HashDigestSize Skein512_512 
Instance details

Defined in Crypto.Hash.Skein512

type HashBlockSize Skein512_512 
Instance details

Defined in Crypto.Hash.Skein512

data Whirlpool Source #

Whirlpool cryptographic hash algorithm

Constructors

Whirlpool 

Instances

Instances details
Data Whirlpool 
Instance details

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 
Instance details

Defined in Crypto.Hash.Whirlpool

Methods

showsPrec :: Int -> Whirlpool -> ShowS

show :: Whirlpool -> String

showList :: [Whirlpool] -> ShowS

HashAlgorithm Whirlpool 
Instance details

Defined in Crypto.Hash.Whirlpool

HashAlgorithm Whirlpool Source #

Whirlpool cryptographic hash

Instance details

Defined in Crypto.Hash

type HashInternalContextSize Whirlpool 
Instance details

Defined in Crypto.Hash.Whirlpool

type HashDigestSize Whirlpool 
Instance details

Defined in Crypto.Hash.Whirlpool

type HashBlockSize Whirlpool 
Instance details

Defined in Crypto.Hash.Whirlpool

MAC algorithms

newtype HMAC a Source #

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

Instances

Instances details
Eq (HMAC a) Source # 
Instance details

Defined in Crypto.Hash

Methods

(==) :: HMAC a -> HMAC a -> Bool

(/=) :: HMAC a -> HMAC a -> Bool

Byteable (HMAC a) Source # 
Instance details

Defined in Crypto.Hash

Methods

toBytes :: HMAC a -> ByteString Source #

byteableLength :: HMAC a -> Int Source #

withBytePtr :: HMAC a -> (Ptr Word8 -> IO b) -> IO b Source #

hmac Source #

Arguments

:: HashAlgorithm a 
=> ByteString

Secret key

-> ByteString

Message to MAC

-> HMAC a 

compute a MAC using the supplied hashing function

hmacAlg Source #

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