module Raaz.Hash.Blake2
(
BLAKE2b, BLAKE2s
, blake2b, blake2bFile, blake2bSource
) where
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as L
import Raaz.Core
import Raaz.Hash.Internal ( hashSource, hash, hashFile )
import Raaz.Hash.Blake2.Internal
import Raaz.Hash.Blake2.Recommendation()
blake2b :: PureByteSource src => src -> BLAKE2b
blake2b :: src -> BLAKE2b
blake2b = src -> BLAKE2b
forall h src.
(Hash h, Recommendation h, PureByteSource src) =>
src -> h
hash
{-# SPECIALIZE blake2b :: B.ByteString -> BLAKE2b #-}
{-# SPECIALIZE blake2b :: L.ByteString -> BLAKE2b #-}
blake2bFile :: FilePath -> IO BLAKE2b
blake2bFile :: FilePath -> IO BLAKE2b
blake2bFile = FilePath -> IO BLAKE2b
forall h. (Hash h, Recommendation h) => FilePath -> IO h
hashFile
blake2bSource :: ByteSource src => src -> IO BLAKE2b
blake2bSource :: src -> IO BLAKE2b
blake2bSource = src -> IO BLAKE2b
forall h src.
(Hash h, Recommendation h, ByteSource src) =>
src -> IO h
hashSource