Skip to main content

zope.password

Latest release Supported Python versions https://github.com/zopefoundation/zope.password/actions/workflows/tests.yml/badge.svg https://coveralls.io/repos/github/zopefoundation/zope.password/badge.svg?branch=master Documentation Status

This package provides a password manager mechanism. The password manager is an utility object that can encode and check encoded passwords.

Documentation is hosted at https://zopepassword.readthedocs.io/

Changes

6.2 (2026-10-21)

  • Move package metadata from setup.py to pyproject.toml.

  • Add support for Python 3.14, 3.15.

  • Drop support for Python 3.10, 3.9.

6.1 (2025-09-12)

  • Replace pkg_resources namespace with PEP 420 native namespace.

  • Replace deprecated pkg_resources with importlib.metadata.

6.0 (2025-01-14)

  • Drop support for crypt password manager. Its base library is long deprecated and was removed in Python 3.13.

5.0 (2025-01-14)

  • Add support for Python 3.11. 3.12, 3.13.

  • Drop support for Python 2.7, 3.5, 3.6, 3.7, 3.8.

4.4 (2022-09-01)

  • Add support for Python 3.7, 3.8, 3.9, 3.10.

  • Drop support for Python 3.4.

4.3.1 (2017-09-01)

  • Fix running configure.zcml when zope.security is installed. See issue 15.

4.3.0 (2017-08-31)

  • Added a bcrypt-based password manager (available only if the bcrypt library is importable). This manager can also check passwords that were encoded with z3c.bcrypt. If that package is not installed, then configure.zcml will install this manager as a utility with both the BCRYPT (preferred) and bcrypt names for compatibility with it. (See https://github.com/zopefoundation/zope.password/issues/10)

  • Add a bcrypt_kdf password manager. This allows tunable numbers of rounds. See https://github.com/zopefoundation/zope.password/issues/9

  • Fix the zpasswd console script on Python 3.

  • Update the zpasswd script to use argparse instead of optparse.

  • Use hmac.compare_digest when checking passwords to prevent timing analysis. This requires Python 2.7.7 or above.

  • Add support for Python 3.6.

  • Drop support for Python 3.3 and Python 2.7.6 and below.

  • Drop support for python setup.py test.

4.2.0 (2016-07-07)

  • Drop support for Python 2.6.

  • Converted documentation to Sphinx, including testing doctest snippets under tox.

  • Add support for Python 3.5.

4.1.0 (2014-12-27)

4.0.2 (2013-03-11)

  • Fix some final resource warnings.

4.0.1 (2013-03-10)

  • Fix test failures under Python 3.3 when warnings are enabled.

4.0.0 (2013-02-21)

  • Make zpasswd a proper console script entry point.

  • Add tox.ini and MANIFEST.in.

  • Add support for Python 3.3

  • Replace deprecated zope.interface.implements usage with equivalent zope.interface.implementer decorator.

  • Drop support for Python 2.4 and 2.5.

  • Add a new IMatchingPasswordManager interface with a ‘match’ method, which returns True if a given password hash was encdoded with the scheme implemented by the specific manager. All managers in this package implement this interface.

  • Use “{SHA}” as the prefix for SHA1-encoded passwords to be compatible with RFC 2307, but support matching against “{SHA1}” for backwards compatibility.

  • Add a crypt password manager to fully support all methods named in RFC 2307. It is contained in the legacy module however, to flag crypt’s status.

  • Add a SMD5 (salted MD5) password manager to fully support all encoding schemes implemented by OpenLDAP.

  • Add a MySQL PASSWORD() (versions before 4.1) password manager, as also found in Zope2’s AccessControl.AuthEncoding module.

  • Remove the useless, cosmetic salt from the MD5 and SHA1 password managers, and use base64 encoding instead of hexdigests. This makes the output of these managers compatible with other MD5 and SHA1 hash implementations such as RFC 2307 but doesn’t lower it’s security in any way. Checking passwords against old, still ‘salted’ password hashes with hexdigests is still supported.

  • Use the standard_base64encode method instead of url_base64encode to maintain compatibility with LDAP.

3.6.1 (2010-05-27)

  • The SSHAPasswordManager.checkPassword() would not handle unicode input (even if the string would only contain ascii characters). Now, the encoded_password input will be encoded to ascii, which is deemed safe as it should not contain non-ascii characters anyway.

3.6.0 (2010-05-07)

  • Remove zope.testing dependency for tests.

  • Update some copyright headers to comply to repository policy.

  • Add zpasswd script formerly hold in zope.app.server. Contrary to former zpasswd script, which used “Plain Text” as default password manager, now SSHA is used as default.

3.5.1 (2009-03-14)

  • Make security protection directives in configure.zcml execute only if zope.security is installed. This will allow reuse of the configure.zcml file in environments without zope.security, for example with repoze.zcml.

  • Add “Password Manager Names” vocabulary for use with zope.schema and zope.component, like it was in zope.app.authentication. It’s an optional feature so it doesn’t add hard dependency. We use “vocabulary” extra to list dependencies needed for vocabulary functionality.

3.5.0 (2009-03-06)

First release. This package was splitted off from zope.app.authentication to separate password manager functionality that is greatly re-usable without any bit of zope.app.authentication and to reduce its dependencies.

Metadata

Release files for zope.password 6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zope.password 6.2
File Size Uploaded Provenance
zope_password-6.2.tar.gz 32.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for zope.password 6.2
File Interpreter ABI Platform
zope_password-6.2-py3-none-any.whl Python 3 none any Details

Total release size: 57.6 kB

Release files / zope_password-6.2.tar.gz

Download URL zope_password-6.2.tar.gz
Size 32.8 kB
Tags Source
SHA-256 checksum
How to use checksums
1800959fa34cac6b19a3af5374b0e5baeae60c22b65ad8c323343e5cfcfd7396
BLAKE2b-256 checksum
How to use checksums
f65a1a7331edd8d38bf617e965cd731283f4493bdb1b4f21126f4a7ccaa6e779
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / zope_password-6.2-py3-none-any.whl

Download URL zope_password-6.2-py3-none-any.whl
Size 24.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da22aaf213608f2b7536332497611aeb33cc27604766badbdc2662b3dd10eb40
BLAKE2b-256 checksum
How to use checksums
c6755d0a64a46802bf0a89560a48815c8f9ad4e003e4d8203932ca95565a21c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for zope.password 6.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for zope_password-6.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page