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.

Source Distribution

argon2pure-1.3.tar.gz (8.9 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page