Go to file
2022-09-05 22:34:35 +02:00
.github Move to Hatch (#131) 2022-08-24 14:17:58 +02:00
docs Convert all top-level docs to Markdown 2022-08-24 15:03:01 +02:00
src/argon2 Move to Hatch (#131) 2022-08-24 14:17:58 +02:00
tests Move to Hatch (#131) 2022-08-24 14:17:58 +02:00
.gitignore Move to Hatch (#131) 2022-08-24 14:17:58 +02:00
.pre-commit-config.yaml [pre-commit.ci] pre-commit autoupdate (#132) 2022-09-05 22:34:35 +02:00
.readthedocs.yml Move docs to 3.10 2021-11-29 09:26:03 +01:00
AUTHORS.md Convert all top-level docs to Markdown 2022-08-24 15:03:01 +02:00
CHANGELOG.md Make PyPI readme fancy 2022-08-24 15:09:15 +02:00
FAQ.md Make FAQ look decent on GitHub too 2022-08-24 15:29:35 +02:00
LICENSE Redo CI (#128) 2022-08-19 09:15:15 +02:00
pyproject.toml Make PyPI readme fancy 2022-08-24 15:09:15 +02:00
README.md Convert all top-level docs to Markdown 2022-08-24 15:03:01 +02:00
tox.ini Convert all top-level docs to Markdown 2022-08-24 15:03:01 +02:00
typing_examples.py Add Types (#112) 2021-12-08 11:32:57 +01:00

Argon2 for Python

Documentation License: MIT PyPI version Downloads / Month

Argon2 won the Password Hashing Competition and argon2-cffi is the simplest way to use it in Python and PyPy:

>>> from argon2 import PasswordHasher
>>> ph = PasswordHasher()
>>> hash = ph.hash("correct horse battery staple")
>>> hash  # doctest: +SKIP
'$argon2id$v=19$m=65536,t=3,p=4$MIIRqgvgQbgj220jfp0MPA$YfwJSVjtjSU0zzV/P3S9nnQ/USre2wvJMjfCIjrTQbg'
>>> ph.verify(hash, "correct horse battery staple")
True
>>> ph.check_needs_rehash(hash)
False
>>> ph.verify(hash, "Tr0ub4dor&3")
Traceback (most recent call last):
  ...
argon2.exceptions.VerifyMismatchError: The password does not match the supplied hash

Project Information

The low-level Argon2 CFFI bindings are maintained in the separate argon2-cffi-bindings project.

argon2-cffi for Enterprise

Available as part of the Tidelift Subscription.

The maintainers of argon2-cffi and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open-source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use. Learn more.