module Raaz.Hash.Sha256
(
SHA256
, sha256, sha256File, sha256Source
, hmacSha256, hmacSha256File, hmacSha256Source
) 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.Internal.HMAC ( hmacSource, hmac, hmacFile, HMAC )
import Raaz.Hash.Sha256.Internal ( SHA256 )
import Raaz.Hash.Sha256.Recommendation()
sha256 :: PureByteSource src => src -> SHA256
sha256 :: src -> SHA256
sha256 = src -> SHA256
forall h src.
(Hash h, Recommendation h, PureByteSource src) =>
src -> h
hash
{-# SPECIALIZE sha256 :: B.ByteString -> SHA256 #-}
{-# SPECIALIZE sha256 :: L.ByteString -> SHA256 #-}
sha256File :: FilePath -> IO SHA256
sha256File :: FilePath -> IO SHA256
sha256File = FilePath -> IO SHA256
forall h. (Hash h, Recommendation h) => FilePath -> IO h
hashFile
sha256Source :: ByteSource src => src -> IO SHA256
sha256Source :: src -> IO SHA256
sha256Source = src -> IO SHA256
forall h src.
(Hash h, Recommendation h, ByteSource src) =>
src -> IO h
hashSource
hmacSha256 :: PureByteSource src
=> Key (HMAC SHA256)
-> src
-> HMAC SHA256
hmacSha256 :: Key (HMAC SHA256) -> src -> HMAC SHA256
hmacSha256 = Key (HMAC SHA256) -> src -> HMAC SHA256
forall h src.
(Hash h, Recommendation h, PureByteSource src) =>
Key (HMAC h) -> src -> HMAC h
hmac
hmacSha256File :: Key (HMAC SHA256)
-> FilePath
-> IO (HMAC SHA256)
hmacSha256File :: Key (HMAC SHA256) -> FilePath -> IO (HMAC SHA256)
hmacSha256File = Key (HMAC SHA256) -> FilePath -> IO (HMAC SHA256)
forall h.
(Hash h, Recommendation h) =>
Key (HMAC h) -> FilePath -> IO (HMAC h)
hmacFile
hmacSha256Source :: ByteSource src
=> Key (HMAC SHA256)
-> src
-> IO (HMAC SHA256)
hmacSha256Source :: Key (HMAC SHA256) -> src -> IO (HMAC SHA256)
hmacSha256Source = Key (HMAC SHA256) -> src -> IO (HMAC SHA256)
forall h src.
(Hash h, Recommendation h, ByteSource src) =>
Key (HMAC h) -> src -> IO (HMAC h)
hmacSource