Go to file
2024-08-25 08:21:54 +02:00
.github Add 3.13 to CI (#175) 2024-08-09 08:05:41 +02:00
docs Fix furo warning 2024-05-08 10:43:58 +02:00
src/argon2 Remove errant reference to structlog (#180) 2024-07-16 06:59:10 +02:00
tests Make check_needs_rehash accept bytes, too (#174) 2024-04-16 08:40:44 +02:00
.git_archival.txt Add support for git archive installs 2024-08-25 08:21:54 +02:00
.gitignore Extract howto 2023-08-15 08:25:27 +02:00
.pre-commit-config.yaml Update Ruff 2024-08-25 08:21:21 +02:00
.python-version-default Test on 3.12 by default 2024-01-02 09:09:46 +01:00
.readthedocs.yaml Build docs on 3.12 2024-01-02 09:11:12 +01:00
CHANGELOG.md Proper name 2024-04-16 08:59:42 +02:00
FAQ.md Calm down 2023-06-02 13:37:17 +02:00
LICENSE Redo CI (#128) 2022-08-19 09:15:15 +02:00
pyproject.toml Add 3.13 to CI (#175) 2024-08-09 08:05:41 +02:00
README.md docs: streamline 2023-08-15 15:55:33 +02:00
tox.ini Add 3.13 to CI (#175) 2024-08-09 08:05:41 +02:00

argon2-cffi: Argon2 for Python

Documentation License: MIT CII Best Practices PyPI version Downloads / Month

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

>>> 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

Credits

argon2-cffi is maintained by Hynek Schlawack.

The development is kindly supported by my employer Variomedia AG, argon2-cffi Tidelift subscribers, and my amazing GitHub Sponsors.

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.