Crypto.Hash.BLAKE2.BLAKE2bp

blake2-0.3.0.1: A library providing BLAKE2

Maintainer | John Galt <jgalt@centromere.net>
Stability | experimental
Portability | POSIX
Safe Haskell | None
Language | Haskell2010

Crypto.Hash.BLAKE2.BLAKE2bp

Contents

- Types
- Functions

Description

Synopsis

- type BLAKE2bpState = ForeignPtr BLAKE2bpStruct
- initialize :: Int -> BLAKE2bpState
- initialize' :: Int -> ByteString -> BLAKE2bpState
- update :: ByteString -> BLAKE2bpState -> BLAKE2bpState
- finalize :: Int -> BLAKE2bpState -> ByteString
- hash :: Int -> ByteString -> ByteString -> ByteString

# Types

type BLAKE2bpState = ForeignPtr BLAKE2bpStruct #

The hash state.

# Functions

initialize #

Arguments

:: Int | Output length in bytes
-> BLAKE2bpState |

Create a new hashing state.

initialize' #

Arguments

:: Int | Output length in bytes
-> ByteString | Key
-> BLAKE2bpState |

Create a new keyed hashing state.

update #

Arguments

:: ByteString | Data to hash
-> BLAKE2bpState | Hashing state
-> BLAKE2bpState |

Add data to the hashing state.

finalize #

Arguments

:: Int | Output length in bytes
-> BLAKE2bpState | Hashing state
-> ByteString |

Finalize the hashing state.

hash #

Arguments

:: Int | Output length in bytes
-> ByteString | Key
-> ByteString | Data to hash
-> ByteString |

Perform hashing all in one step. A common way of calling this function is `hash 64 mempty dataToHash` for applications which do not require keying.