Skip to main content

Modern password hashing for your software and your servers

Project description

bcrypt

Latest Version https://github.com/pyca/bcrypt/workflows/CI/badge.svg?branch=main

Acceptable password hashing for your software and your servers (but you should really use argon2id or scrypt)

Installation

To install bcrypt, simply:

$ pip install bcrypt

Note that bcrypt should build very easily on Linux provided you have a C compiler and a Rust compiler (the minimum supported Rust version is 1.56.0).

For Debian and Ubuntu, the following command will ensure that the required dependencies are installed:

$ sudo apt-get install build-essential cargo

For Fedora and RHEL-derivatives, the following command will ensure that the required dependencies are installed:

$ sudo yum install gcc cargo

For Alpine, the following command will ensure that the required dependencies are installed:

$ apk add --update musl-dev gcc cargo

Alternatives

While bcrypt remains an acceptable choice for password storage, depending on your specific use case you may also want to consider using scrypt (either via standard library or cryptography) or argon2id via argon2_cffi.

Changelog

4.2.1

  • Bump Rust dependency versions - this should resolve crashes on Python 3.13 free-threaded builds.

  • We no longer build manylinux wheels for PyPy 3.9.

4.2.0

  • Bump Rust dependency versions

  • Removed the BCRYPT_ALLOW_RUST_163 environment variable.

4.1.3

  • Bump Rust dependency versions

4.1.2

  • Publish both py37 and py39 wheels. This should resolve some errors relating to initializing a module multiple times per process.

4.1.1

  • Fixed the type signature on the kdf method.

  • Fixed packaging bug on Windows.

  • Fixed incompatibility with passlib package detection assumptions.

4.1.0

  • Dropped support for Python 3.6.

  • Bumped MSRV to 1.64. (Note: Rust 1.63 can be used by setting the BCRYPT_ALLOW_RUST_163 environment variable)

4.0.1

  • We now build PyPy manylinux wheels.

  • Fixed a bug where passing an invalid salt to checkpw could result in a pyo3_runtime.PanicException. It now correctly raises a ValueError.

4.0.0

  • bcrypt is now implemented in Rust. Users building from source will need to have a Rust compiler available. Nothing will change for users downloading wheels.

  • We no longer ship manylinux2010 wheels. Users should upgrade to the latest pip to ensure this doesn’t cause issues downloading wheels on their platform. We now ship manylinux_2_28 wheels for users on new enough platforms.

  • NUL bytes are now allowed in inputs.

3.2.2

  • Fixed packaging of py.typed files in wheels so that mypy works.

3.2.1

  • Added support for compilation on z/OS

  • The next release of bcrypt with be 4.0 and it will require Rust at compile time, for users building from source. There will be no additional requirement for users who are installing from wheels. Users on most platforms will be able to obtain a wheel by making sure they have an up to date pip. The minimum supported Rust version will be 1.56.0.

  • This will be the final release for which we ship manylinux2010 wheels. Going forward the minimum supported manylinux ABI for our wheels will be manylinux2014. The vast majority of users will continue to receive manylinux wheels provided they have an up to date pip.

3.2.0

  • Added typehints for library functions.

  • Dropped support for Python versions less than 3.6 (2.7, 3.4, 3.5).

  • Shipped abi3 Windows wheels (requires pip >= 20).

3.1.7

  • Set a setuptools lower bound for PEP517 wheel building.

  • We no longer distribute 32-bit manylinux1 wheels. Continuing to produce them was a maintenance burden.

3.1.6

  • Added support for compilation on Haiku.

3.1.5

  • Added support for compilation on AIX.

  • Dropped Python 2.6 and 3.3 support.

  • Switched to using abi3 wheels for Python 3. If you are not getting a wheel on a compatible platform please upgrade your pip version.

3.1.4

  • Fixed compilation with mingw and on illumos.

3.1.3

  • Fixed a compilation issue on Solaris.

  • Added a warning when using too few rounds with kdf.

3.1.2

  • Fixed a compile issue affecting big endian platforms.

  • Fixed invalid escape sequence warnings on Python 3.6.

  • Fixed building in non-UTF8 environments on Python 2.

3.1.1

  • Resolved a UserWarning when used with cffi 1.8.3.

3.1.0

  • Added support for checkpw, a convenience method for verifying a password.

  • Ensure that you get a $2y$ hash when you input a $2y$ salt.

  • Fixed a regression where $2a hashes were vulnerable to a wraparound bug.

  • Fixed compilation under Alpine Linux.

3.0.0

  • Switched the C backend to code obtained from the OpenBSD project rather than openwall.

  • Added support for bcrypt_pbkdf via the kdf function.

2.0.0

  • Added support for an adjustible prefix when calling gensalt.

  • Switched to CFFI 1.0+

Usage

Password Hashing

Hashing and then later checking that a password matches the previous hashed password is very simple:

>>> import bcrypt
>>> password = b"super secret password"
>>> # Hash a password for the first time, with a randomly-generated salt
>>> hashed = bcrypt.hashpw(password, bcrypt.gensalt())
>>> # Check that an unhashed password matches one that has previously been
>>> # hashed
>>> if bcrypt.checkpw(password, hashed):
...     print("It Matches!")
... else:
...     print("It Does not Match :(")

KDF

As of 3.0.0 bcrypt now offers a kdf function which does bcrypt_pbkdf. This KDF is used in OpenSSH’s newer encrypted private key format.

>>> import bcrypt
>>> key = bcrypt.kdf(
...     password=b'password',
...     salt=b'salt',
...     desired_key_bytes=32,
...     rounds=100)

Adjustable Work Factor

One of bcrypt’s features is an adjustable logarithmic work factor. To adjust the work factor merely pass the desired number of rounds to bcrypt.gensalt(rounds=12) which defaults to 12):

>>> import bcrypt
>>> password = b"super secret password"
>>> # Hash a password for the first time, with a certain number of rounds
>>> hashed = bcrypt.hashpw(password, bcrypt.gensalt(14))
>>> # Check that a unhashed password matches one that has previously been
>>> #   hashed
>>> if bcrypt.checkpw(password, hashed):
...     print("It Matches!")
... else:
...     print("It Does not Match :(")

Adjustable Prefix

Another one of bcrypt’s features is an adjustable prefix to let you define what libraries you’ll remain compatible with. To adjust this, pass either 2a or 2b (the default) to bcrypt.gensalt(prefix=b"2b") as a bytes object.

As of 3.0.0 the $2y$ prefix is still supported in hashpw but deprecated.

Maximum Password Length

The bcrypt algorithm only handles passwords up to 72 characters, any characters beyond that are ignored. To work around this, a common approach is to hash a password with a cryptographic hash (such as sha256) and then base64 encode it to prevent NULL byte problems before hashing the result with bcrypt:

>>> password = b"an incredibly long password" * 10
>>> hashed = bcrypt.hashpw(
...     base64.b64encode(hashlib.sha256(password).digest()),
...     bcrypt.gensalt()
... )

Compatibility

This library should be compatible with py-bcrypt and it will run on Python 3.6+, and PyPy 3.

Security

bcrypt follows the same security policy as cryptography, if you identify a vulnerability, we ask you to contact us privately.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bcrypt-4.2.1.tar.gz (24.4 kB view details)

Uploaded Source

Built Distributions

bcrypt-4.2.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (274.7 kB view details)

Uploaded PyPy manylinux: glibc 2.28+ x86-64

bcrypt-4.2.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl (270.1 kB view details)

Uploaded PyPy manylinux: glibc 2.28+ ARM64

bcrypt-4.2.1-cp39-abi3-win_amd64.whl (153.1 kB view details)

Uploaded CPython 3.9+ Windows x86-64

bcrypt-4.2.1-cp39-abi3-win32.whl (160.9 kB view details)

Uploaded CPython 3.9+ Windows x86

bcrypt-4.2.1-cp39-abi3-musllinux_1_2_x86_64.whl (339.8 kB view details)

Uploaded CPython 3.9+ musllinux: musl 1.2+ x86-64

bcrypt-4.2.1-cp39-abi3-musllinux_1_2_aarch64.whl (320.6 kB view details)

Uploaded CPython 3.9+ musllinux: musl 1.2+ ARM64

bcrypt-4.2.1-cp39-abi3-musllinux_1_1_x86_64.whl (310.7 kB view details)

Uploaded CPython 3.9+ musllinux: musl 1.1+ x86-64

bcrypt-4.2.1-cp39-abi3-musllinux_1_1_aarch64.whl (306.5 kB view details)

Uploaded CPython 3.9+ musllinux: musl 1.1+ ARM64

bcrypt-4.2.1-cp39-abi3-manylinux_2_28_x86_64.whl (278.6 kB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.28+ x86-64

bcrypt-4.2.1-cp39-abi3-manylinux_2_28_aarch64.whl (273.3 kB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.28+ ARM64

bcrypt-4.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (278.4 kB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ x86-64

bcrypt-4.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (272.5 kB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ ARM64

bcrypt-4.2.1-cp39-abi3-macosx_10_12_universal2.whl (489.8 kB view details)

Uploaded CPython 3.9+ macOS 10.12+ universal2 (ARM64, x86-64)

bcrypt-4.2.1-cp37-abi3-win_amd64.whl (153.0 kB view details)

Uploaded CPython 3.7+ Windows x86-64

bcrypt-4.2.1-cp37-abi3-win32.whl (160.9 kB view details)

Uploaded CPython 3.7+ Windows x86

bcrypt-4.2.1-cp37-abi3-musllinux_1_2_x86_64.whl (340.0 kB view details)

Uploaded CPython 3.7+ musllinux: musl 1.2+ x86-64

bcrypt-4.2.1-cp37-abi3-musllinux_1_2_aarch64.whl (321.0 kB view details)

Uploaded CPython 3.7+ musllinux: musl 1.2+ ARM64

bcrypt-4.2.1-cp37-abi3-musllinux_1_1_x86_64.whl (310.8 kB view details)

Uploaded CPython 3.7+ musllinux: musl 1.1+ x86-64

bcrypt-4.2.1-cp37-abi3-musllinux_1_1_aarch64.whl (306.9 kB view details)

Uploaded CPython 3.7+ musllinux: musl 1.1+ ARM64

bcrypt-4.2.1-cp37-abi3-manylinux_2_28_x86_64.whl (279.1 kB view details)

Uploaded CPython 3.7+ manylinux: glibc 2.28+ x86-64

bcrypt-4.2.1-cp37-abi3-manylinux_2_28_aarch64.whl (273.9 kB view details)

Uploaded CPython 3.7+ manylinux: glibc 2.28+ ARM64

bcrypt-4.2.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (278.7 kB view details)

Uploaded CPython 3.7+ manylinux: glibc 2.17+ x86-64

bcrypt-4.2.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (273.1 kB view details)

Uploaded CPython 3.7+ manylinux: glibc 2.17+ ARM64

bcrypt-4.2.1-cp37-abi3-macosx_10_12_universal2.whl (490.0 kB view details)

Uploaded CPython 3.7+ macOS 10.12+ universal2 (ARM64, x86-64)

File details

Details for the file bcrypt-4.2.1.tar.gz.

File metadata

  • Download URL: bcrypt-4.2.1.tar.gz
  • Upload date:
  • Size: 24.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for bcrypt-4.2.1.tar.gz
Algorithm Hash digest
SHA256 6765386e3ab87f569b276988742039baab087b2cdb01e809d74e74503c2faafe
MD5 04825a138ed1aabf499d7a5fbf35fcf6
BLAKE2b-256 568cdd696962612e4cd83c40a9e6b3db77bfe65a830f4b9af44098708584686c

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1.tar.gz:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e158009a54c4c8bc91d5e0da80920d048f918c61a581f0a63e4e93bb556d362f
MD5 20e1a51ee0318b864e1c5fa3fb387145
BLAKE2b-256 3b052546085c6dc07a45627460a39e6291b82382b434fff2bd0167ff3bc31eb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 76132c176a6d9953cdc83c296aeaed65e1a708485fd55abf163e0d9f8f16ce0e
MD5 c40004657005d78ea4fdcdd2e1771897
BLAKE2b-256 4e6e7193067042de23af3d71882f898c8c0bd2b18e6ee44a4f76e395dfadb5a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: bcrypt-4.2.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 153.1 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for bcrypt-4.2.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e84e0e6f8e40a242b11bce56c313edc2be121cec3e0ec2d76fce01f6af33c07c
MD5 9dbfa3a4693e9a34cd0f4a5a0674e844
BLAKE2b-256 76b9d51d34e6cd6d887adddb28a8680a1d34235cc45b9d6e238ce39b98199ca0

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp39-abi3-win_amd64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp39-abi3-win32.whl.

File metadata

  • Download URL: bcrypt-4.2.1-cp39-abi3-win32.whl
  • Upload date:
  • Size: 160.9 kB
  • Tags: CPython 3.9+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for bcrypt-4.2.1-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 b588af02b89d9fad33e5f98f7838bf590d6d692df7153647724a7f20c186f6bf
MD5 5bf1b20a51c93289f3ab2719c9643e85
BLAKE2b-256 b4b4e75b6e9a72a030a04362034022ebe317c5b735d04db6ad79237101ae4a5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp39-abi3-win32.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 807261df60a8b1ccd13e6599c779014a362ae4e795f5c59747f60208daddd96d
MD5 9a8339fc9a086c51b80b0f54603c0228
BLAKE2b-256 5daba6c0da5c2cf86600f74402a72b06dfe365e1a1d30783b1bbeec460fd57d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp39-abi3-musllinux_1_2_x86_64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c6f5fa3775966cca251848d4d5393ab016b3afed251163c1436fefdec3b02c84
MD5 d5a7db8575fd09075bedf5c6a1f01784
BLAKE2b-256 97923dc76d8bfa23300591eec248e950f85bd78eb608c96bd4747ce4cc06acdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp39-abi3-musllinux_1_2_aarch64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp39-abi3-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp39-abi3-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f85b1ffa09240c89aa2e1ae9f3b1c687104f7b2b9d2098da4e923f1b7082d331
MD5 4f38d4c67ee95264d1e79aa563498e69
BLAKE2b-256 5c72916e14fa12d2b1d1fc6c26ea195337419da6dd23d0bf53ac61ef3739e5c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp39-abi3-musllinux_1_1_x86_64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp39-abi3-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp39-abi3-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 041fa0155c9004eb98a232d54da05c0b41d4b8e66b6fc3cb71b4b3f6144ba837
MD5 290aee9278f71672c9f476151ecfa8b6
BLAKE2b-256 6e5aee107961e84c41af2ac201d0460f962b6622ff391255ffd46429e9e09dc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp39-abi3-musllinux_1_1_aarch64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp39-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 687cf30e6681eeda39548a93ce9bfbb300e48b4d445a43db4298d2474d2a1e54
MD5 e599ba3b7de50a74463a6089274ea23f
BLAKE2b-256 d6c34b4bad4da852924427c651589d464ad1aa624f94dd904ddda8493b0a35e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp39-abi3-manylinux_2_28_x86_64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp39-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 533e7f3bcf2f07caee7ad98124fab7499cb3333ba2274f7a36cf1daee7409d99
MD5 fca1e1a7bb917cf6411cd01b81a98e85
BLAKE2b-256 5068f2e3959014b4d8874c747e6e171d46d3e63a3a39aaca8417a8d837eda0a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp39-abi3-manylinux_2_28_aarch64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cde78d385d5e93ece5479a0a87f73cd6fa26b171c786a884f955e165032b262c
MD5 8a04d4636909ee3b254b097e6f73d801
BLAKE2b-256 777fb43622999f5d4de06237a195ac5501ac83516adf571b907228cd14bac8fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 909faa1027900f2252a9ca5dfebd25fc0ef1417943824783d1c8418dd7d6df4a
MD5 80b80f0a06910069a572c7536c1904bc
BLAKE2b-256 fd283ea8a39ddd4938b6c6b6136816d72ba5e659e2d82b53d843c8c53455ac4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp39-abi3-macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp39-abi3-macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 8ad2f4528cbf0febe80e5a3a57d7a74e6635e41af1ea5675282a33d769fba413
MD5 4bfa8a1416bffaf27d6d6190594ab560
BLAKE2b-256 4a5723b46933206daf5384b5397d9878746d2249fe9d45efaa8e1467c87d3048

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp39-abi3-macosx_10_12_universal2.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp37-abi3-win_amd64.whl.

File metadata

  • Download URL: bcrypt-4.2.1-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 153.0 kB
  • Tags: CPython 3.7+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for bcrypt-4.2.1-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8c458cd103e6c5d1d85cf600e546a639f234964d0228909d8f8dbeebff82d526
MD5 26ea0020880faf8e5da2e467263b5102
BLAKE2b-256 008ffe834eaa54abbd7cab8607e5020fa3a0557e929555b9e4ca404b4adaab06

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp37-abi3-win_amd64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp37-abi3-win32.whl.

File metadata

  • Download URL: bcrypt-4.2.1-cp37-abi3-win32.whl
  • Upload date:
  • Size: 160.9 kB
  • Tags: CPython 3.7+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for bcrypt-4.2.1-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 adadd36274510a01f33e6dc08f5824b97c9580583bd4487c564fc4617b328005
MD5 0bbd9defa646a0463cbfbb47372061a3
BLAKE2b-256 6d64fd67788f64817727897d31e9cdeeeba3941eaad8540733c05c7eac4aa998

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp37-abi3-win32.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp37-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp37-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cfdf3d7530c790432046c40cda41dfee8c83e29482e6a604f8930b9930e94139
MD5 3696b5ce1a052a2d83e530bbbf60d90e
BLAKE2b-256 a1252ec4ce5740abc43182bfc064b9acbbf5a493991246985e8b2bfe231ead64

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp37-abi3-musllinux_1_2_x86_64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp37-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp37-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 04e56e3fe8308a88b77e0afd20bec516f74aecf391cdd6e374f15cbed32783d6
MD5 ee8cd1638760fbb329c0e2db511890c0
BLAKE2b-256 98bc9d501ee9d754f63d4b1086b64756c284facc3696de9b556c146279a124a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp37-abi3-musllinux_1_2_aarch64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp37-abi3-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp37-abi3-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 89df2aea2c43be1e1fa066df5f86c8ce822ab70a30e4c210968669565c0f4685
MD5 60894bb20fe451e21eddb8140039d245
BLAKE2b-256 decb578b0023c6a5ca16a177b9044ba6bd6032277bd3ef020fb863eccd22e49b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp37-abi3-musllinux_1_1_x86_64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp37-abi3-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp37-abi3-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 b7703ede632dc945ed1172d6f24e9f30f27b1b1a067f32f68bf169c5f08d0425
MD5 8a72415a01fc189c3c8038ba0b509417
BLAKE2b-256 4eeff2cb7a0f7e1ed800a604f8ab256fb0afcf03c1540ad94ff771ce31e794aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp37-abi3-musllinux_1_1_aarch64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp37-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp37-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 76d3e352b32f4eeb34703370e370997065d28a561e4a18afe4fef07249cb4396
MD5 03d134b7b0b409cb7890e5ffb4cbed03
BLAKE2b-256 9de52fd1ea6395358ffdfd4afe370d5b52f71408f618f781772a48971ef3b92b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp37-abi3-manylinux_2_28_x86_64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp37-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp37-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 aaa2e285be097050dba798d537b6efd9b698aa88eef52ec98d23dcd6d7cf6fea
MD5 def5aeb7115695c16e261f8c456fb291
BLAKE2b-256 8eabb8710a3d6231c587e575ead0b1c45bb99f5454f9f579c9d7312c17b069cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp37-abi3-manylinux_2_28_aarch64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8dbd0747208912b1e4ce730c6725cb56c07ac734b3629b60d4398f082ea718ad
MD5 d075764117ee21a52d00f4d363b66956
BLAKE2b-256 d653ac084b7d985aee1a5f2b086d501f550862596dbf73220663b8c17427e7f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1ee315739bc8387aa36ff127afc99120ee452924e0df517a8f3e4c0187a0f5f
MD5 08449242995ae318cc7dffbbf245d485
BLAKE2b-256 6abee7c6e0fd6087ee8fc6d77d8d9e817e9339d879737509019b9a9012a1d96f

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

File details

Details for the file bcrypt-4.2.1-cp37-abi3-macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for bcrypt-4.2.1-cp37-abi3-macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 1340411a0894b7d3ef562fb233e4b6ed58add185228650942bdc885362f32c17
MD5 d030d446ee81b3b7e43083276b92e0ff
BLAKE2b-256 bccae17b08c523adb93d5f07a226b2bd45a7c6e96b359e31c1e99f9db58cb8c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for bcrypt-4.2.1-cp37-abi3-macosx_10_12_universal2.whl:

Publisher: pypi-publish.yml on pyca/bcrypt

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page