Skip to main content

Pure python implementation of the ARGON2 password hash

Project description


Pure Python implementation of Argon2 v1.3.

You probably want to use the argon2_cffi or pyargon2 bindings instead.


>>> import argon2pure
>>> from binascii import hexlify
>>> hexlify(argon2pure.argon2('password', 'randomsalt', time_cost=1, memory_cost=16, parallelism=2))



pip install argon2pure


  • Optimize.
  • Cover corner-cases in tests.

argon2pure Changelog

1.3 (2016-12-27)

  • Support ARGON2ID.
  • Add ARGON2_TYPES constant.
  • Python 3.6 support.

1.2.4 (2016-06-25)

  • Close worker pool explicitly. For CPython this makes no difference, but for a Python implementation without reference counting, like PyPy, this will drastically decrease memory usage. (Eli Collins)

1.2.3 (2016-06-23)

  • Add use_threads flag to use threads instead of processes. (Eli Collins)

1.2.2 (2016-06-18)

  • Add ARGON2_VERSIONS constant. (Eli Collins)

1.2 (2016-06-17)

  • Support and switch the default to Argon2 v1.3

1.1.1 (2016-06-17)

  • Fix typo. (Fixes #1)

Thanks to: Eli Collins

1.1 (2016-02-06)

Performance improvements.

  • Faster XORing of blocks.
  • Use multiple threads if possible.

1 (2016-01-21)

  • Initial release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for argon2pure, version 1.3
Filename, size File type Python version Upload date Hashes
Filename, size argon2pure-1.3.tar.gz (8.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page