Crypto.Hash.BLAKE2.BLAKE2b

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.BLAKE2b

Contents

- Types
- Functions

Description

Synopsis

- type BLAKE2bState = ForeignPtr BLAKE2bStruct
- initialize :: Int -> BLAKE2bState
- initialize' :: Int -> ByteString -> BLAKE2bState
- update :: ByteString -> BLAKE2bState -> BLAKE2bState
- finalize :: Int -> BLAKE2bState -> ByteString
- hash :: Int -> ByteString -> ByteString -> ByteString

# Types

type BLAKE2bState = ForeignPtr BLAKE2bStruct #

The hash state.

# Functions

initialize #

Arguments

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

Create a new hashing state.

initialize' #

Arguments

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

Create a new keyed hashing state.

update #

Arguments

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

Add data to the hashing state.

finalize #

Arguments

:: Int | Output length in bytes
-> BLAKE2bState | 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.