Crypto.Hash.BLAKE2.BLAKE2s

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

Contents

- Types
- Functions

Description

Synopsis

- type BLAKE2sState = ForeignPtr BLAKE2sStruct
- initialize :: Int -> BLAKE2sState
- initialize' :: Int -> ByteString -> BLAKE2sState
- update :: ByteString -> BLAKE2sState -> BLAKE2sState
- finalize :: Int -> BLAKE2sState -> ByteString
- hash :: Int -> ByteString -> ByteString -> ByteString

# Types

type BLAKE2sState = ForeignPtr BLAKE2sStruct #

The hash state.

# Functions

initialize #

Arguments

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

Create a new hashing state.

initialize' #

Arguments

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

Create a new keyed hashing state.

update #

Arguments

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

Add data to the hashing state.

finalize #

Arguments

:: Int | Output length in bytes
-> BLAKE2sState | 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 32 mempty dataToHash` for applications which do not require keying.