-- | A pure interface to SHA
module Codec.Digest.SHA(
  Length(..), hash, hash',
  showBSasHex
) where

import Codec.Digest.SHA.Monad
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as BL

-- | Hashing lazy bytestrings
hash :: Length -> BL.ByteString -> B.ByteString
hash len bs = snd $ runSHA len (update bs)

-- | Hashing strict bytestrings
hash' :: Length -> B.ByteString -> B.ByteString
hash' len bs = snd $ runSHA len (update bs)