Skip to main content

Pure python implementation of the ARGON2 password hash

Project description

argon2pure

Pure Python implementation of Argon2 v1.3.

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

Usage

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

Installation

Run:

pip install argon2pure

TODO

  • 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 setup.py 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.

Supported by

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