argon2: Memory-hard password hash and proof-of-work function

[ bsd3, cryptography, library ] [ Propose Tags ]

Argon2 is the key derivation function (KDF) selected as the winner of the Password Hashing Competition. The API exposed by this bindings provide access to the 3 specified variants

and allows to control various parameters (time cost, memory cost, parallelism) of the Argon2 function. Moreover, it is also supported to generate and verify the deprecated version 1.0 hashes, as well as the current version 1.3 hashes.

The Haskell API supports both raw binary hashes as well as the ASCII-based PHC string format.

This version provides bindings to the "20171227" release of the Argon2 reference implementation (libargon2) of the Argon2 password-hashing function.

Please refer to the Argon2 specification for more information.

Versions [faq] 1.0.0, 1.1.0, 1.2.0,,
Change log
Dependencies base (>=4.8 && <4.13), bytestring (==0.10.*), deepseq (==1.4.*), text-short (>=0.1.2 && <0.2) [details]
License BSD-3-Clause[multiple license files]
Author Ollie Charles, Herbert Valerio Riedel
Maintainer Herbert Valerio Riedel <>
Revised Revision 1 made by HerbertValerioRiedel at Sun Aug 12 08:14:55 UTC 2018
Category Cryptography
Bug tracker
Source repo head: git clone
Uploaded by HerbertValerioRiedel at Sat Apr 7 18:52:12 UTC 2018
Distributions Debian:, NixOS:
Downloads 1546 total (115 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-04-14 [all 1 reports]





Link against system libargon2 library rather than using embedded copy of libargon2. See also pkg-config flag.


Use pkg-config(1) to discover system-library location & flags.

NOTE: This has an effect only when the use-system-library flag is also enabled.


Force use of non-optimised C routines on x86_64. Ineffective when use-system-library flag is active.


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