hashes-0.3.0.1: Hash functions
CopyrightCopyright © 2021 Lars Kuhtz <lakuhtz@gmail.com>
LicenseMIT
MaintainerLars Kuhtz <lakuhtz@gmail.com>
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Hash.Class.Mutable.Internal

Description

Incremental and Resetable Mutable Hashes

Synopsis

Incremental Hashes

class IncrementalHash a where Source #

Associated Types

type Context a :: Type Source #

Methods

update :: Context a -> Ptr Word8 -> Int -> IO () Source #

finalize :: Context a -> IO a Source #

Instances

Instances details
IncrementalHash Blake2b512 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Blake2b512 Source #

IncrementalHash Blake2s256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Blake2s256 Source #

IncrementalHash Keccak224 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Keccak224 Source #

IncrementalHash Keccak256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Keccak256 Source #

IncrementalHash Keccak384 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Keccak384 Source #

IncrementalHash Keccak512 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Keccak512 Source #

IncrementalHash Sha2_224 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Sha2_224 Source #

IncrementalHash Sha2_256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Sha2_256 Source #

IncrementalHash Sha2_384 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Sha2_384 Source #

IncrementalHash Sha2_512 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Sha2_512 Source #

IncrementalHash Sha2_512_224 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Sha2_512_224 Source #

IncrementalHash Sha2_512_256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Sha2_512_256 Source #

IncrementalHash Sha3_224 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Sha3_224 Source #

IncrementalHash Sha3_256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Sha3_256 Source #

IncrementalHash Sha3_384 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Sha3_384 Source #

IncrementalHash Sha3_512 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Sha3_512 Source #

IncrementalHash (Digest a) Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context (Digest a) Source #

Methods

update :: Context (Digest a) -> Ptr Word8 -> Int -> IO () Source #

finalize :: Context (Digest a) -> IO (Digest a) Source #

KnownNat bits => IncrementalHash (Shake128 bits) Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context (Shake128 bits) Source #

Methods

update :: Context (Shake128 bits) -> Ptr Word8 -> Int -> IO () Source #

finalize :: Context (Shake128 bits) -> IO (Shake128 bits) Source #

KnownNat bits => IncrementalHash (Shake256 bits) Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context (Shake256 bits) Source #

Methods

update :: Context (Shake256 bits) -> Ptr Word8 -> Int -> IO () Source #

finalize :: Context (Shake256 bits) -> IO (Shake256 bits) Source #

updateStorable :: forall a b. IncrementalHash a => Storable b => Context a -> b -> IO () Source #

Resetable Hashes

class IncrementalHash a => ResetableHash a where Source #

Methods

reset :: Context a -> IO () Source #

Instances

Instances details
ResetableHash Keccak224 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context Keccak224 -> IO () Source #

ResetableHash Keccak256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context Keccak256 -> IO () Source #

ResetableHash Keccak384 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context Keccak384 -> IO () Source #

ResetableHash Keccak512 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context Keccak512 -> IO () Source #

ResetableHash Sha2_224 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context Sha2_224 -> IO () Source #

ResetableHash Sha2_256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context Sha2_256 -> IO () Source #

ResetableHash Sha2_384 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context Sha2_384 -> IO () Source #

ResetableHash Sha2_512 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context Sha2_512 -> IO () Source #

ResetableHash Sha2_512_224 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

ResetableHash Sha2_512_256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

ResetableHash Sha3_224 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context Sha3_224 -> IO () Source #

ResetableHash Sha3_256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context Sha3_256 -> IO () Source #

ResetableHash Sha3_384 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context Sha3_384 -> IO () Source #

ResetableHash Sha3_512 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context Sha3_512 -> IO () Source #

ResetableHash (Digest a) Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context (Digest a) -> IO () Source #

KnownNat bits => ResetableHash (Shake128 bits) Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context (Shake128 bits) -> IO () Source #

KnownNat bits => ResetableHash (Shake256 bits) Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

reset :: Context (Shake256 bits) -> IO () Source #