The cryptohash package

[Tags: bsd3, library]

A collection of crypto hashes, with a practical incremental and one-pass, pure APIs, with performance close to the fastest implementations available in others languages.

The implementations are made in C with a haskell FFI wrapper that hide the C implementation.

[Skip to ReadMe]


Versions0.4, 0.4.1, 0.5, 0.5.1, 0.5.2, 0.5.3, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.7.4, 0.7.5, 0.7.6, 0.7.7, 0.7.8, 0.7.9, 0.7.10, 0.8.0, 0.8.1, 0.8.2, 0.8.3, 0.8.4, 0.9.0, 0.9.1, 0.10.0, 0.11.0, 0.11.1, 0.11.2, 0.11.3, 0.11.4, 0.11.5, 0.11.6
Change logNone available
Dependenciesbase (>=4 && <6), bytestring, cereal (>=0.2), crypto-api (>=0.5), HUnit, tagged (>=0.1) [details]
CopyrightVincent Hanquez <>
AuthorVincent Hanquez <>
MaintainerVincent Hanquez <>
CategoryData, Cryptography
Home page
Source repositoryhead: git clone git://
UploadedThu Sep 8 17:47:17 UTC 2011 by VincentHanquez
DistributionsDebian:0.11.6, Fedora:0.9.0, FreeBSD:0.11.6, LTSHaskell:0.11.6, NixOS:0.11.6, Stackage:0.11.6
Downloads121126 total (196 in last 30 days)
1 []
StatusDocs uploaded by user
Build status unknown [no reports yet]




testBuild unit testDisabledAutomatic
cryptoapiDefines crypto-api instancesEnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainers' corner

For package maintainers and hackage trustees

Readme for cryptohash-0.7.2

hs-cryptohash provides lots of different secure digest algorithms.

All different cryptohashes contains the exact same API, for ease of
switching between different hashes; this API is separated two folds:
the incremental API and the one-pass API.

= Incremental API

The incremental API permits the user to compute the digest incrementally,
with the overhead of having to box and unbox the context in and out
the computing function.

this API is made of: init, update and finalize; this is similar
to how a digest algorithm works in other languages.

= One Pass API

The one pass API permits a single shot computation that doesn't have
the overhead of boxing and unboxing at each step.

this API is made of: hash and hashlazy. hash works on a strict bytestring,
whereas hashlazy works on a lazy bytestring.