The cryptohash package

[Tags:benchmark, bsd3, library, test]

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]


Versions 0.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, 0.11.7, 0.11.8, 0.11.9
Dependencies base (>=3 && <4.7), bytestring, HUnit [details]
License BSD3
Copyright Vincent Hanquez <>
Author Vincent Hanquez <>
Maintainer Vincent Hanquez <>
Category Data, Cryptography
Source repository head: git clone git://
Uploaded Thu Sep 30 07:03:09 UTC 2010 by VincentHanquez
Updated Fri Nov 25 08:46:19 UTC 2016 by HerbertValerioRiedel to revision 1
Distributions Arch:0.11.9, Debian:0.11.6, Fedora:0.11.9, FreeBSD:0.11.6, LTSHaskell:0.11.9, NixOS:0.11.9, Stackage:0.11.9, Tumbleweed:0.11.9
Downloads 126925 total (2688 in the last 30 days)
1 []
Status Docs uploaded by user
Build status unknown [no reports yet]




testBuild unit testDisabledAutomatic

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


Maintainer's Corner

For package maintainers and hackage trustees

Readme for cryptohash

Readme for cryptohash-0.5.3

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.