A safe interface to SHA that still lets you digest incrementally
- type SHA s a = SHAT (ST s) a
- type SHAT m a = ReaderT SHACtx m a
- data Length
- runSHAT :: MonadUnsafeIO m => Length -> SHAT m a -> m (a, ByteString)
- runSHA :: Length -> (forall s. SHA s a) -> (a, ByteString)
- class Hashable a where
- update :: MonadUnsafeIO m => a -> SHAT m ()
- showBSasHex :: ByteString -> String
Documentation
runSHAT :: MonadUnsafeIO m => Length -> SHAT m a -> m (a, ByteString)Source
runSHA :: Length -> (forall s. SHA s a) -> (a, ByteString)Source
Hash some data, combining it with everything already hashed in this context
update :: MonadUnsafeIO m => a -> SHAT m ()Source
showBSasHex :: ByteString -> StringSource
Converts a ByteString to hexadeximal string format