skillfed

argon2-cffi

Argon2 for Python

argon2-cffi Permissive license MIT Active 727 v25.1.0 released

Install

argon2-cffi on PyPI

pip

pip install argon2-cffi

uv

uv add argon2-cffi

poetry

poetry add argon2-cffi

Package 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

Development Status :: 5 - Production/StableOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Security :: CryptographyTyping :: Typed

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

Read as markdown · JSON record · Source repository · Docs

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.
argon2 password hashing pythonsecure password hashing librarypassword verification argon2modern password hashingcryptographic password storageargon2 cffi bindingspassword hash verification

Similar packages