cryptohash: collection of crypto hashes, fast, pure and practical

[ benchmark, bsd3, cryptography, data, library ] [ Propose Tags ]
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, cereal (>=0.2), crypto‑api (>=0.1), HUnit, tagged (>=0.1) [details]
License BSD-3-Clause
Copyright Vincent Hanquez <>
Author Vincent Hanquez <>
Maintainer Vincent Hanquez <>
Revised Revision 1 made by HerbertValerioRiedel at Fri Nov 25 09:21:22 UTC 2016
Category Data, Cryptography
Source repo head: git clone git://
Uploaded by VincentHanquez at Sun Oct 24 10:28:01 UTC 2010
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, openSUSE:0.11.9
Executables Tests
Downloads 148875 total (331 in the last 30 days)
Rating 1.25 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

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]





Build unit test


Defines crypto-api instances


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


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for cryptohash-0.6

[back to package description]
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.