{-# LANGUAGE PackageImports #-} -- | -- Module : Crypto.Hash.Types -- License : BSD-style -- Maintainer : Vincent Hanquez -- Stability : experimental -- Portability : unknown -- -- Crypto hash types definitions -- module Crypto.Hash.Types ( Context(..) , Digest(..) -- * deprecated , contextToByteString , digestToByteString ) where import Data.ByteString (ByteString) import Data.Byteable import qualified Data.ByteArray as B (convert) import qualified "cryptonite" Crypto.Hash as H -- | Represent a context for a given hash algorithm. newtype Context a = Context (H.Context a) instance Byteable (Context a) where toBytes (Context ctx) = B.convert ctx --- | return the binary bytestring. deprecated use toBytes. contextToByteString :: Context a -> ByteString contextToByteString = toBytes -- | Represent a digest for a given hash algorithm. newtype Digest a = Digest (H.Digest a) deriving (Eq,Ord) instance Byteable (Digest a) where toBytes (Digest dig) = B.convert dig -- | return the binary bytestring. deprecated use toBytes. {-# DEPRECATED digestToByteString "use toBytes from byteable:Data.Byteable" #-} digestToByteString :: Digest a -> ByteString digestToByteString = toBytes instance Show (Digest a) where show (Digest dig) = show dig