skillfed

AuthEncoding

Framework for handling LDAP style password hashes.

authencoding v6.0 136.5K downloads/30d#11,394 on PyPI1
License unclear ZPL-2.1 AGING released

What it is and what it does

AuthEncoding is a password hashing framework extracted from Zope's AccessControl module. It handles the creation and validation of LDAP-style password hashes using pluggable schemes—SHA256, SSHA, CRYPT, and optionally bcrypt. The package provides a clean interface for encoding passwords and checking them against stored hashes, making it suitable for web applications and directory services that need standards-compliant password management without a dependency on the full Zope stack.

The package is pure Python with no runtime dependencies, making it lightweight and straightforward to integrate. It supports modern Python versions (3.9 through 3.13, with preliminary support for 3.14) and both CPython and PyPy. Recent updates added support for non-latin-1 characters in passwords, broadening its usability for international applications.

Use it for:

  • Validating user passwords against LDAP-stored hashes in web applications or directory integrations.
  • Encoding new passwords using standard schemes (SHA256, SSHA, CRYPT) for storage in LDAP directories.
  • Adding bcrypt-based password hashing to legacy systems that currently use weaker schemes.
  • Building authentication layers in Zope applications without pulling in the full AccessControl package.
  • Migrating password storage from one hashing scheme to another by validating old hashes and re-encoding with new schemes.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

AuthEncoding provides a framework for creating, validating, and managing LDAP-style password hashes in Python, supporting multiple hashing schemes including bcrypt when installed as an optional extra.

Yes, if you need LDAP-compatible password hashing or are working within a Zope ecosystem. The package is mature, has no dependencies, and supports current Python versions. However, maintenance is aging (534 days since last release), so verify that security patches are still responsive if this is critical to your authentication pipeline. For general-purpose password hashing outside LDAP contexts, consider more actively maintained alternatives.

Install

authencoding on PyPI

pip

pip install authencoding

uv

uv add authencoding

poetry

poetry add authencoding

Installing AuthEncoding

Before you install

Low friction: pure Python wheel with no runtime dependencies. Maintenance is aging—last release was 534 days ago—but the repository remains active with a recent commit and the package supports current Python versions (3.9+).

License in practice

Licensed under ZPL-2.1 (Zope Public License), classified as unclear treatment. Review the license terms if your project has specific open-source compliance requirements.

Quickstart

pip install authencoding

from AuthEncoding.interfaces import IPasswordScheme
from AuthEncoding.authencoding import SHA256DigestScheme

scheme = SHA256DigestScheme()
encoded = scheme.encodePassword('mypassword')
matches = scheme.checkPassword(encoded, 'mypassword')

Requires Python 3.9 or later. Optional bcrypt support requires the bcrypt extra: pip install authencoding[bcrypt]

Verify before relying

  • Whether the aging maintenance status (534 days since last release) affects security patch responsiveness for password-handling code.
  • Specific non-latin-1 character support added in 6.0—scope and limitations of that support.

Package facts

License ZPL-2.1 (unclear)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance aging — 534 days since the last release
Last repo commit
First released
Downloads 136,534/month — #11,394 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: AuthEncoding-6.0-py3-none-any.whl

Development Status :: 6 - MatureEnvironment :: Web EnvironmentFramework :: ZopeFramework :: Zope :: 2Framework :: Zope :: 4Framework :: Zope :: 5License :: OSI Approved :: Zope Public LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: System :: Systems Administration :: Authentication/Directory :: LDAP

Tags

LDAP password hashingpassword hash validationLDAP authentication encodingbcrypt password schemespassword digest schemesauthentication frameworksecure password storage
ldappassword-hashingzope

More LDAP packages