argon2-cffi
Argon2 for Python
Install
argon2-cffi on PyPI
pip
pip install argon2-cffiuv
uv add argon2-cffipoetry
poetry add argon2-cffiPackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — argon2-cffi-bindings |
| Maintenance | actively maintained — 436 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: argon2_cffi-25.1.0-py3-none-any.whl
Keywords: hash, hashing, password, security
About argon2-cffi
from the package's own PyPI description — quoted content, verbatim
argon2-cffi: Argon2 for Python
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
<!-- end short -->
Project Links
- PyPI
- GitHub
- Documentation
- Changelog
- Funding
- The low-level Argon2 CFFI bindings are maintained in the separate...
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
argon2-cffi provides Python bindings to the Argon2 password hashing algorithm, which won the Password Hashing Competition. It offers a simple API for hashing passwords, verifying them against stored hashes, and checking if rehashing is needed.
Low friction installation with a single compiled dependency (argon2-cffi-bindings). The package is actively maintained with recent commits and supports Python 3.8–3.14 across CPython and PyPy.
MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal obligations.
Usage
pip install argon2-cffi
from argon2 import PasswordHasher
ph = PasswordHasher()
hash = ph.hash("correct horse battery staple")
ph.verify(hash, "correct horse battery staple") # Returns True
Verdict: argon2-cffi is a production-stable, actively maintained password hashing library backed by a competition-winning algorithm. MIT-licensed with low install friction, no known vulnerabilities, and broad Python version support make it a reliable choice for secure password storage in Python applications.
Needs verification
- Whether argon2-cffi-bindings requires system-level compilation tools or prebuilt binaries on all supported platforms.
- Performance characteristics and memory/time cost parameters compared to other Argon2 implementations.
Similar packages
permissive · top 1,000 on PyPI
bcryptpermissive · top 1,000 on PyPI
passlibpermissive · top 1,000 on PyPI
PyNaClpermissive · top 1,000 on PyPI
structlogpermissive · top 1,000 on PyPI
attrspermissive · top 100 on PyPI
murmurhashpermissive · top 1,000 on PyPI
mmh3permissive · top 1,000 on PyPI
google-crc32cunclear · top 1,000 on PyPI
msrestpermissive · top 1,000 on PyPI