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

Data.Hash.Class.Mutable

Description

Class of Salted Pure Hashes

Synopsis

Documentation

class IncrementalHash a => Hash a where Source #

Methods

initialize :: IO (Context a) Source #

Instances

Instances details
Hash Blake2b512 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Blake2s256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Keccak256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Keccak512 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Sha2_224 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Sha2_256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Sha2_384 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Sha2_512 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Sha2_512_224 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Sha2_512_256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Sha3_224 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Sha3_256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Sha3_384 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Sha3_512 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Shake128 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Hash Shake256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

OpenSslDigest a => Hash (Digest a) Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

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 Keccak256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Keccak256 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 Shake128 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Shake128 Source #

IncrementalHash Shake256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Associated Types

type Context Shake256 Source #

OpenSslDigest a => 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 #

hashPtr :: forall a. Hash a => Ptr Word8 -> Int -> IO a Source #

hashStorable :: forall a b. Hash a => Storable b => b -> IO a Source #

hashByteString :: forall a. Hash a => ByteString -> a Source #

hashByteStringLazy :: forall a. Hash a => ByteString -> a Source #

hashByteArray :: forall a. Hash a => ByteArray# -> IO a Source #

Incremental Hashing

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 Keccak256 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

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

ResetableHash Keccak512 Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

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

OpenSslDigest a => ResetableHash (Digest a) Source # 
Instance details

Defined in Data.Hash.Internal.OpenSSL

Methods

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