You can use boolean logic (e.g. AND/OR/NOT) for complex search queries. For more help and examples, see the search documentation.
Search by package name:
my-package
(implicit)
name:my-package
(explicit)
Search by package filename:
my-package.ext
(implicit)
filename:my-package.ext
(explicit)
Search by package tag:
latest
(implicit)
tag:latest
(explicit)
Search by package version:
1.0.0
(implicit)
version:1.0.0
(explicit)
prerelease:true
(prereleases)
prerelease:false
(no prereleases)
Search by package architecture:
architecture:x86_64
Search by package distribution:
distribution:el
Search by package license:
license:MIT
Search by package format:
format:deb
Search by package status:
status:in_progress
Search by package file checksum:
checksum:5afba
Search by package security status:
severity:critical
Search by package vulnerabilities:
vulnerabilities:>1
vulnerabilities:<1000
Search by # of package downloads:
downloads:>8
downloads:<100
Search by package type:
type:binary
type:source
Search by package size (bytes):
size:>50000
size:<10000
Search by dependency name/version:
dependency:log4j
dependency:log4j=1.0.0
dependency:log4j>1.0.0
Search by uploaded date:
uploaded:>"1 day ago"
uploaded:<"August 14, 2022 EST"
Search by entitlement token (identifier):
entitlement:3lKPVJPosCsY
Search by policy violation:
policy_violated:true
deny_policy_violated:true
license_policy_violated:true
vulnerability_policy_violated:true
Search by repository:
repository:repo-name
Search queries for all Debian-specific (and related) package types
Search by component:
deb_component:unstable
Search queries for all Maven-specific (and related) package types
Search by group ID:
maven_group_id:org.apache
Search queries for all Docker-specific (and related) package types
Search by image digest:
docker_image_digest:sha256:7c5..6d4
(full hashref only)
Search by layer digest:
docker_layer_digest:sha256:4c4..ae4
(full hashref only)
Field type modifiers (depending on the type, you can influence behaviour)
For all queries, you can use:
~foo
for negation
For string queries, you can use:
^foo
to anchor to start of term
foo$
to anchor to end of term
foo*bar
for fuzzy matching
For number/date or version queries, you can use:
>foo
for values greater than
>=foo
for values greater / equal
<foo
for values less than
<=foo
for values less / equal
Need a secure and centralised artifact repository to deliver Alpine,
Cargo,
CocoaPods,
Composer,
Conan,
Conda,
CRAN,
Dart,
Debian,
Docker,
Go,
Helm,
Hex,
LuaRocks,
Maven,
npm,
NuGet,
P2,
Python,
RedHat,
Ruby,
Swift,
Terraform,
Vagrant,
Raw & More packages?
Cloudsmith is the new standard in Package / Artifact Management and Software Distribution.
With support for all major package formats, you can trust us to manage your software supply chain.
bcrypt 3.1.6
One-liner (summary)
Description
Installation
To install bcrypt, simply:
$ pip install bcrypt
Note that bcrypt should build very easily on Linux provided you have a C compiler, headers for Python (if you're not using pypy), and headers for the libffi libraries available on your system.
For Debian and Ubuntu, the following command will ensure that the required dependencies are installed:
$ sudo apt-get install build-essential libffi-dev python-dev
For Fedora and RHEL-derivatives, the following command will ensure that the required dependencies are installed:
$ sudo yum install gcc libffi-devel python-devel
Alternatives
While bcrypt remains a good 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
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!") ... el
Status | Completed |
---|---|
Checksum (MD5) | 52a3d91bf9e09ce4ffa7b479442fd031 |
Checksum (SHA-1) | 9fa157d808c135615c29757d0c8844860c3bb584 |
Checksum (SHA-256) | fb2e3ad5dac1c6bb988a567a3bdad1efde77a4b5741689f9ea71c5a02047e1ab |
Checksum (SHA-512) | c122ee54a77fb7ab58253ef95925986268c75374c736e7128850dd0b31acfda0e5… |
GPG Signature | |
Storage Region | Dublin, Ireland |
Type | Binary (contains binaries and binary artifacts) |
Uploaded At | 5 years, 1 month ago |
Uploaded By | |
Slug Id | bcrypt-316-cp36-cp36m-linux_x86_64whl |
Unique Id | BqD1umSv1Eha |
Version (Raw) | 3.1.6 |
Version (Parsed) |
|
extended metadata | |
Abi | cp36m |
Author | The Python Cryptographic Authority developers <cryptography-dev@python.org> |
Classifiers | Development Status :: 5 - Production/Stable | License :: OSI Approved :: Apache Software License | Programming Language :: Python :: 2 | Programming Language :: Python :: 2.7 | Programming Language :: Python :: 3 | Programming Language :: Python :: 3.4 | Programming Language :: Python :: 3.5 | Programming Language :: Python :: 3.6 | Programming Language :: Python :: 3.7 | Programming Language :: Python :: Implementation :: CPython | Programming Language :: Python :: Implementation :: PyPy |
Homepage URL | https://github.com/pyca/bcrypt/ |
Metadata Version | 2.1 |
Py Filetype | bdist_wheel |
Py Version | cp36 |
pkg | bcrypt-3.1.6-cp36-cp36m-linux_x… |
59
59.2 KB |
md5 | sha1 | sha256 | sha512 |
This package has 11 files/directories.
bcrypt |
59 |
Security Scanning:
You can't see this because your subscription doesn't include this feature, sorry!
With Security Scanning, Cloudsmith will scan your artifacts for vulnerabilities when they're uploaded. These are then presented to you via the UI and the API, so that you can build rules into your CI/CD pipelines to decide how to handle low, medium, high and critical software vulnerabilities.
If you'd like to trial or ask about the Security Scanning feature, just ask us. We'll be happy to help!
Last scanned
19 minutes ago
Scan result
Vulnerable
Vulnerability count
5
Max. severity
LowTarget: | ||
LOW |
CVE-1827-93944: library: vulnerability titlePackage Name: package_name Installed Version: 1.1.30 Fixed Version: 2.7.73 References: www.roberts.com cain.biz www.simmons.com |
|
LOW |
CVE-4954-96318: library: vulnerability titlePackage Name: package_name Installed Version: 1.3.38 Fixed Version: 2.3.20 References: schwartz-roberts.info www.perez.info www.cook-smith.com |
|
LOW |
CVE-2034-22158: library: vulnerability titlePackage Name: package_name Installed Version: 1.8.89 Fixed Version: 2.10.70 References: www.williams.info www.harrison-erickson.com www.murphy.com |
|
LOW |
CVE-3870-28338: library: vulnerability titlePackage Name: package_name Installed Version: 1.2.91 Fixed Version: 2.9.3 References: www.trevino.com marshall-griffin.net browning.biz |
|
LOW |
CVE-9100-75940: library: vulnerability titlePackage Name: package_name Installed Version: 1.4.9 Fixed Version: 2.8.24 References: harris.net stewart.com www.ho.org |
You can embed a badge in another website that shows this or the latest version of this package.
To embed the badge for this specific package version, use the following:
[![This version of 'bcrypt' @ Cloudsmith](https://api-prd.cloudsmith.io/v1/badges/version/agriconnect/python-musl/python/bcrypt/3.1.6/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/?render=true)](https://cloudsmith.io/~agriconnect/repos/python-musl/packages/detail/python/bcrypt/3.1.6/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/)
|This version of 'bcrypt' @ Cloudsmith|
.. |This version of 'bcrypt' @ Cloudsmith| image:: https://api-prd.cloudsmith.io/v1/badges/version/agriconnect/python-musl/python/bcrypt/3.1.6/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/?render=true
:target: https://cloudsmith.io/~agriconnect/repos/python-musl/packages/detail/python/bcrypt/3.1.6/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/
image::https://api-prd.cloudsmith.io/v1/badges/version/agriconnect/python-musl/python/bcrypt/3.1.6/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/?render=true[link="https://cloudsmith.io/~agriconnect/repos/python-musl/packages/detail/python/bcrypt/3.1.6/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/",title="This version of 'bcrypt' @ Cloudsmith"]
<a href="https://cloudsmith.io/~agriconnect/repos/python-musl/packages/detail/python/bcrypt/3.1.6/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/"><img src="https://api-prd.cloudsmith.io/v1/badges/version/agriconnect/python-musl/python/bcrypt/3.1.6/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/?render=true" alt="This version of 'bcrypt' @ Cloudsmith" /></a>
rendered as:
To embed the badge for the latest package version, use the following:
[![Latest version of 'bcrypt' @ Cloudsmith](https://api-prd.cloudsmith.io/v1/badges/version/agriconnect/python-musl/python/bcrypt/latest/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/?render=true&show_latest=true)](https://cloudsmith.io/~agriconnect/repos/python-musl/packages/detail/python/bcrypt/latest/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/)
|Latest version of 'bcrypt' @ Cloudsmith|
.. |Latest version of 'bcrypt' @ Cloudsmith| image:: https://api-prd.cloudsmith.io/v1/badges/version/agriconnect/python-musl/python/bcrypt/latest/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/?render=true&show_latest=true
:target: https://cloudsmith.io/~agriconnect/repos/python-musl/packages/detail/python/bcrypt/latest/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/
image::https://api-prd.cloudsmith.io/v1/badges/version/agriconnect/python-musl/python/bcrypt/latest/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/?render=true&show_latest=true[link="https://cloudsmith.io/~agriconnect/repos/python-musl/packages/detail/python/bcrypt/latest/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/",title="Latest version of 'bcrypt' @ Cloudsmith"]
<a href="https://cloudsmith.io/~agriconnect/repos/python-musl/packages/detail/python/bcrypt/latest/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/"><img src="https://api-prd.cloudsmith.io/v1/badges/version/agriconnect/python-musl/python/bcrypt/latest/a=linux_x86_64;xa=cp36m;xf=bdist_wheel;xn=bcrypt;xv=cp36/?render=true&show_latest=true" alt="Latest version of 'bcrypt' @ Cloudsmith" /></a>
rendered as:
These instructions assume you have setup the repository first (or read it).
To install/use bcrypt @ version 3.1.6 ...
pip install 'bcrypt==3.1.6'
You can also install the latest version of this package:
pip install --upgrade 'bcrypt'
If necessary, you can specify the repository directly:
pip install \
--index-url=https://dl.cloudsmith.io/public/agriconnect/python-musl/python/simple/ \
bcrypt==3.1.6
If you've got a project requirements.txt file, you can specify this as a dependency:
--index-url=https://dl.cloudsmith.io/public/agriconnect/python-musl/python/simple/
bcrypt==3.1.6
In addition, you can use this repository as an extra index url. However, please read our documentation on this parameter before using it. For example in a requirements.txt file:
--extra-index-url=https://dl.cloudsmith.io/public/agriconnect/python-musl/python/simple/
bcrypt==3.1.6