Safe Haskell | None |
---|---|
Language | Haskell2010 |
It is suggested you use the 'crypto-api' class-based interface to access the MD5 algorithm. Either rely on type inference or provide an explicit type:
hashFileStrict = liftM hash' . B.readFile hashFileLazyBS = liftM hash . B.readFile
- data MD5Context
- data MD5Digest
- md5InitialContext :: MD5Context
- md5 :: ByteString -> MD5Digest
- md5Update :: MD5Context -> ByteString -> MD5Context
- md5Finalize :: MD5Context -> ByteString -> MD5Digest
- md5DigestBytes :: MD5Digest -> ByteString
- class (Serialize d, Eq d, Ord d) => Hash ctx d | d -> ctx, ctx -> d where
- outputLength :: Tagged * d BitLength
- blockLength :: Tagged * d BitLength
- initialCtx :: ctx
- updateCtx :: ctx -> ByteString -> ctx
- finalize :: ctx -> ByteString -> d
- hash :: ByteString -> d
- hash' :: ByteString -> d
Types
data MD5Context Source #
The type for final results.
Binary MD5Context Source # | |
Serialize MD5Context Source # | |
Hash MD5Context MD5Digest Source # | |
After finalizing a context, using md5Finalize, a new type is returned to prevent 're-finalizing' the structure.
Static data
md5InitialContext :: MD5Context Source #
The initial context to use when calling md5Update for the first time
Functions
md5 :: ByteString -> MD5Digest Source #
Processes a lazy ByteString and returns the md5 digest. This is probably what you want.
md5Update :: MD5Context -> ByteString -> MD5Context Source #
Alters the MD5Context with a partial digest of the data.
The input bytestring MUST be a multiple of the blockSize or bad things can happen (incorrect digest results)!
md5Finalize :: MD5Context -> ByteString -> MD5Digest Source #
Closes an MD5 context, thus producing the digest.
md5DigestBytes :: MD5Digest -> ByteString Source #