pureMD5-2.1.4: A Haskell-only implementation of the MD5 digest (hash) algorithm.
Safe HaskellNone
LanguageHaskell2010

Data.Digest.Pure.MD5

Description

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
Synopsis

Types

data MD5Context Source #

The type for final results.

Instances

Instances details
Binary MD5Context Source # 
Instance details

Defined in Data.Digest.Pure.MD5

Methods

put :: MD5Context -> Put

get :: Get MD5Context

putList :: [MD5Context] -> Put

Serialize MD5Context Source # 
Instance details

Defined in Data.Digest.Pure.MD5

Methods

put :: Putter MD5Context

get :: Get MD5Context

Hash MD5Context MD5Digest Source # 
Instance details

Defined in Data.Digest.Pure.MD5

Methods

outputLength :: Tagged MD5Digest BitLength #

blockLength :: Tagged MD5Digest BitLength #

initialCtx :: MD5Context #

updateCtx :: MD5Context -> ByteString -> MD5Context #

finalize :: MD5Context -> ByteString -> MD5Digest #

hash :: ByteString -> MD5Digest #

hash' :: ByteString -> MD5Digest #

data MD5Digest Source #

After finalizing a context, using md5Finalize, a new type is returned to prevent 're-finalizing' the structure.

Instances

Instances details
Show MD5Digest Source # 
Instance details

Defined in Data.Digest.Pure.MD5

Methods

showsPrec :: Int -> MD5Digest -> ShowS

show :: MD5Digest -> String

showList :: [MD5Digest] -> ShowS

Binary MD5Digest Source # 
Instance details

Defined in Data.Digest.Pure.MD5

Methods

put :: MD5Digest -> Put

get :: Get MD5Digest

putList :: [MD5Digest] -> Put

Serialize MD5Digest Source # 
Instance details

Defined in Data.Digest.Pure.MD5

Methods

put :: Putter MD5Digest

get :: Get MD5Digest

Eq MD5Digest Source # 
Instance details

Defined in Data.Digest.Pure.MD5

Methods

(==) :: MD5Digest -> MD5Digest -> Bool

(/=) :: MD5Digest -> MD5Digest -> Bool

Ord MD5Digest Source # 
Instance details

Defined in Data.Digest.Pure.MD5

Methods

compare :: MD5Digest -> MD5Digest -> Ordering

(<) :: MD5Digest -> MD5Digest -> Bool

(<=) :: MD5Digest -> MD5Digest -> Bool

(>) :: MD5Digest -> MD5Digest -> Bool

(>=) :: MD5Digest -> MD5Digest -> Bool

max :: MD5Digest -> MD5Digest -> MD5Digest

min :: MD5Digest -> MD5Digest -> MD5Digest

Hash MD5Context MD5Digest Source # 
Instance details

Defined in Data.Digest.Pure.MD5

Methods

outputLength :: Tagged MD5Digest BitLength #

blockLength :: Tagged MD5Digest BitLength #

initialCtx :: MD5Context #

updateCtx :: MD5Context -> ByteString -> MD5Context #

finalize :: MD5Context -> ByteString -> MD5Digest #

hash :: ByteString -> MD5Digest #

hash' :: ByteString -> MD5Digest #

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. You can use show to produce the standard hex representation.

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 #

The raw bytes of an MD5Digest. It is always 16 bytes long.

You can also use the Binary or Serialize instances to output the raw bytes. Alternatively you can use show to produce the standard hex representation.

Crypto-API interface

class (Serialize d, Eq d, Ord d) => Hash ctx d | d -> ctx, ctx -> d where #

Minimal complete definition

outputLength, blockLength, initialCtx, updateCtx, finalize

Methods

outputLength :: Tagged d BitLength #

blockLength :: Tagged d BitLength #

initialCtx :: ctx #

updateCtx :: ctx -> ByteString -> ctx #

finalize :: ctx -> ByteString -> d #

hash :: ByteString -> d #

hash' :: ByteString -> d #

Instances

Instances details
Hash MD5Context MD5Digest Source # 
Instance details

Defined in Data.Digest.Pure.MD5

Methods

outputLength :: Tagged MD5Digest BitLength #

blockLength :: Tagged MD5Digest BitLength #

initialCtx :: MD5Context #

updateCtx :: MD5Context -> ByteString -> MD5Context #

finalize :: MD5Context -> ByteString -> MD5Digest #

hash :: ByteString -> MD5Digest #

hash' :: ByteString -> MD5Digest #