Modern(-ish) password hashing for your software and your servers

Related tags

Cryptography python
Overview

bcrypt

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

Good password hashing for your software and your servers

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

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

$ apk add --update musl-dev gcc libffi-dev

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

UNRELEASED

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.

C Code

This library uses code from OpenBSD.

Security

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

Comments
  • Convert bcrypt to use OpenBSD code

    Convert bcrypt to use OpenBSD code

    This allows us to add bcrypt_pbkdf to support OpenSSH keys much more easily.

    Some review things:

    • Verify that the files added are the OpenBSD files (with a few changes like removing static on a definition, adding a header, and removing unused functions.)
    • Verify that the changes to sha2.c to use be64toh, htobe64, and le32toh are correct.
    • Carefully check portable_endian.h to verify it does what we expect on our supported platforms.
    opened by reaperhulk 14
  • Can't install on PyPy

    Can't install on PyPy

    It seems that there are no binary wheels for PyPy, and build from source now requires a Rust toolchain. This is a major problem for installation.

    $ docker run -ti --rm pypy:3.9 bash
    
    /# pip install -U pip
    Successfully installed pip-22.2.2
    
    /# pip install bcrypt
    Collecting bcrypt
      Downloading bcrypt-4.0.0.tar.gz (25 kB)
      Installing build dependencies ... done
      Getting requirements to build wheel ... done
      Preparing metadata (pyproject.toml) ... done
    Building wheels for collected packages: bcrypt
      Building wheel for bcrypt (pyproject.toml) ... error
      error: subprocess-exited-with-error
      
      × Building wheel for bcrypt (pyproject.toml) did not run successfully.
      │ exit code: 1
      ╰─> [58 lines of output]
          running bdist_wheel
          running build
          running build_py
          creating build
          creating build/lib.linux-x86_64-pypy39
          creating build/lib.linux-x86_64-pypy39/bcrypt
          copying src/bcrypt/__about__.py -> build/lib.linux-x86_64-pypy39/bcrypt
          copying src/bcrypt/__init__.py -> build/lib.linux-x86_64-pypy39/bcrypt
          running egg_info
          writing src/bcrypt.egg-info/PKG-INFO
          writing dependency_links to src/bcrypt.egg-info/dependency_links.txt
          writing requirements to src/bcrypt.egg-info/requires.txt
          writing top-level names to src/bcrypt.egg-info/top_level.txt
          reading manifest file 'src/bcrypt.egg-info/SOURCES.txt'
          reading manifest template 'MANIFEST.in'
          warning: no previously-included files found matching 'requirements.txt'
          warning: no previously-included files found matching 'release.py'
          warning: no previously-included files found matching 'mypy.ini'
          warning: no previously-included files matching '*' found under directory '.github'
          warning: no previously-included files matching '*' found under directory '.circleci'
          warning: no previously-included files found matching 'src/_bcrypt/target'
          warning: no previously-included files matching '*' found under directory 'src/_bcrypt/target'
          adding license file 'LICENSE'
          writing manifest file 'src/bcrypt.egg-info/SOURCES.txt'
          copying src/bcrypt/_bcrypt.pyi -> build/lib.linux-x86_64-pypy39/bcrypt
          copying src/bcrypt/py.typed -> build/lib.linux-x86_64-pypy39/bcrypt
          running build_ext
          running build_rust
          
              =============================DEBUG ASSISTANCE=============================
              If you are seeing a compilation error please try the following steps to
              successfully install bcrypt:
              1) Upgrade to the latest pip and try again. This will fix errors for most
                 users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
              2) Ensure you have a recent Rust toolchain installed. bcrypt requires
                 rustc >= 1.56.0.
          
              Python: 3.9.12
              platform: Linux-5.15.0-48-generic-x86_64-with-glibc2.31
              pip: n/a
              setuptools: 65.4.1
              setuptools_rust: 1.5.2
              rustc: n/a
              =============================DEBUG ASSISTANCE=============================
          
          error: can't find Rust compiler
          
          If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.
          
          To update pip, run:
          
              pip install --upgrade pip
          
          and then retry package installation.
          
          If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
          
          This package requires Rust >=1.56.0.
          [end of output]
      
      note: This error originates from a subprocess, and is likely not a problem with pip.
      ERROR: Failed building wheel for bcrypt
    Failed to build bcrypt
    ERROR: Could not build wheels for bcrypt, which is required to install pyproject.toml-based projects
    

    Installing 3.2.2 works.

    opened by remram44 13
  • ValueError: Invalid salt

    ValueError: Invalid salt

    Full exception:

    Traceback (most recent call last):
      File "/opt/app/current/app/models.py", line 626, in check_password
        return bcrypt.check_password_hash(self.password, password)
      File "/opt/app/current/venv/local/lib/python2.7/site-packages/flask_bcrypt.py", line 193, in check_password_hash
        return safe_str_cmp(bcrypt.hashpw(password, pw_hash), pw_hash)
      File "/opt/app/current/venv/local/lib/python2.7/site-packages/bcrypt/__init__.py", line 66, in hashpw
        raise ValueError("Invalid salt")
    ValueError: Invalid salt
    
    opened by alanhamlett 13
  • Wondering if bcrypt planned to support AIX?

    Wondering if bcrypt planned to support AIX?

    Hi, I pip install paramiko on AIX 6.1 and occured an error which said bcypt does't support the platform. I wonder if there is a plan to support AIX?

    Thank you very much!
    
    opened by Prodesire 11
  • bcrypt with pypy error

    bcrypt with pypy error

    Latest stable pypy version, bcrypt installed via pip, running on Win7 64bit:

    C:\Users\...snip...>pypy
    Python 3.2.5 (b2091e973da6, Oct 19 2014, 21:25:51)
    [PyPy 2.4.0 with MSC v.1500 32 bit] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>> import bcrypt
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Program Files (x86)\pypy3-2.4.0-win32\site-packages\bcrypt\__init__.py", line 23, in <module>
        from bcrypt import _bcrypt
    ImportError: cannot import name '_bcrypt'
    

    I've compared the pypy site-packages/bcrypt directory with the corresponding python site-packages/bcrypt, and the python directory has a file _bcrypt.pyd which is not present under pypy.

    Any idea?

    Thanks!

    opened by avnr 11
  • Python 3.9.12 with Pip 22.2.2 on Windows OS (32bit)

    Python 3.9.12 with Pip 22.2.2 on Windows OS (32bit)

    Based on an application upgrade, python and pip were upgraded to latest version on our Win32 system. Unfortunately the installed bcrypt version 3.2.0 (bcrypt-3.2.0-cp36-abi3-win32.whl) doesn't work anymore (DLL load failed while importing _bcrypt) and even an upgrade using latest wheel build (3.2.2) is not supported (ERROR: bcrypt-3.2.2-cp36-abi3-win32.whl is not a supported wheel on this platform).

    Will there be a newer bcrypt wheel build for cp39 available soon or do we need to proceed a workaround being able to use bcrypt again?

    Thank you for the support.

    opened by amacons 10
  • Wheel support for linux aarch64

    Wheel support for linux aarch64

    Summary Installing bcrypt on aarch64 via pip using command "pip3 install bcrypt" tries to build wheel from source code

    Problem description bcrypt don't have wheel for aarch64 on PyPI repository. So, while installing bcrypt via pip on aarch64, pip builds wheel for same resulting in it takes more time to install bcrypt. Making wheel available for aarch64 will benefit aarch64 users by minimizing bcrypt installation time.

    Expected Output Pip should be able to download bcrypt wheel from PyPI repository rather than building it from source code.

    @bcrypt-team, please let me know if I can help you building wheel/uploading to PyPI repository. I am curious to make bcrypt wheel available for aarch64. It will be a great opportunity for me to work with you.

    opened by odidev 9
  • Fix compile issue for PowerPC

    Fix compile issue for PowerPC

    There seems to be one opening parenthesis too many here on both lines.

    Discovered after running into the following errors while cross-compiling for PowerPC/Qoriq:

    src/_csrc/sha2.c: In function 'SHA256Final':
    src/_csrc/sha2.c:484: error: expected ')' before ';' token
    src/_csrc/sha2.c:485: error: expected ')' before '}' token
    src/_csrc/sha2.c:485: error: expected ';' before '}' token
    
    opened by Dr-Bean 9
  • pip wheel bcrypt fails with ValueError: path '/Users/dstufft/projects/bcrypt/bcrypt/crypt_blowfish-1.2/crypt_blowfish.c' cannot be absolute

    pip wheel bcrypt fails with ValueError: path '/Users/dstufft/projects/bcrypt/bcrypt/crypt_blowfish-1.2/crypt_blowfish.c' cannot be absolute

    I suspect that this is because the sdist hosted on PyPI includes an egg-info directory with SOURCES.txt containing absolute filenames. Probably as a result of the line

    ext_modules = [_ffi.verifier.get_extension()]
    

    in setup.py, which seems to add the absolute paths. Uninstalling cffi and doing setup.py sdist produces a workable sdist.

    opened by pfmoore 9
  • Build is failing on Alpine Linux & Python 3.5

    Build is failing on Alpine Linux & Python 3.5

    I get a build error with the latest bcrypt release on Alpine Linux and Python 3.5:

    src/_csrc/bcrypt_pbkdf.c: In function 'bcrypt_pbkdf':
    src/_csrc/bcrypt_pbkdf.c:137:3: warning: implicit declaration of function 'bcrypt_hash' [-Wimplicit-function-declaration]
       bcrypt_hash(sha2pass, sha2salt, tmpout);
       ^
    error: command 'gcc' failed with exit status 1
    

    The complete output and the Dockerfile are attached. To reproduce the error you may run (after placing Dockerfile.txt to the same dir):

    docker build . -f Dockerfile.txt -t bcrypt-test
    

    error-output.txt Dockerfile.txt

    opened by rudyryk 8
  • 4.0.0 issue  Runtime.ImportModuleError: Unable to import module

    4.0.0 issue Runtime.ImportModuleError: Unable to import module

    [ERROR] Runtime.ImportModuleError: Unable to import module 'main': /lib64/libc.so.6: version GLIBC_2.28' not found (required by /var/task/bcrypt/_bcrypt.abi3.so)

    I have used Github action to run a workflow with required packages in requirements.txt

    bcrypt
    cryptography
    

    But the above issue is raised while executing the code after above packages are installed. But the issue is solved by downgrading bcrypt to 3.2.2 and cryptography to 3.4.8.

    In documentation , it is mentioned to use updated pip version and since github action works to fetch new version.

    How to solve this issue to upgrade bcrypt package?

    opened by himalacharya 7
  • Bump base64 from 0.13.1 to 0.20.0 in /src/_bcrypt

    Bump base64 from 0.13.1 to 0.20.0 in /src/_bcrypt

    Bumps base64 from 0.13.1 to 0.20.0.

    Changelog

    Sourced from base64's changelog.

    0.20.0

    Breaking changes

    • Update MSRV to 1.57.0
    • Decoding can now either ignore padding, require correct padding, or require no padding. The default is to require correct padding.
      • The NO_PAD config now requires that padding be absent when decoding.

    0.20.0-alpha.1

    Breaking changes

    • Extended the Config concept into the Engine abstraction, allowing the user to pick different encoding / decoding implementations.
      • What was formerly the only algorithm is now the FastPortable engine, so named because it's portable (works on any CPU) and relatively fast.
      • This opens the door to a portable constant-time implementation (#153, presumably ConstantTimePortable?) for security-sensitive applications that need side-channel resistance, and CPU-specific SIMD implementations for more speed.
      • Standard base64 per the RFC is available via DEFAULT_ENGINE. To use different alphabets or other settings (padding, etc), create your own engine instance.
    • CharacterSet is now Alphabet (per the RFC), and allows creating custom alphabets. The corresponding tables that were previously code-generated are now built dynamically.
    • Since there are already multiple breaking changes, various functions are renamed to be more consistent and discoverable.
    • MSRV is now 1.47.0 to allow various things to use const fn.
    • DecoderReader now owns its inner reader, and can expose it via into_inner(). For symmetry, EncoderWriter can do the same with its writer.
    • encoded_len is now public so you can size encode buffers precisely.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Include a wheel for linux_armv7l

    Include a wheel for linux_armv7l

    I have a number of armv7l based computers and currently I need to install the whole build environement on all of them to be able to use bcrypt.

    The code builds fine but building on each platform and "polluting" the production devices with development packages is something I would like to avoid. Also a bigger risk that there is a difference between the binaries when building on each platform and trigger really hard to find bugs.

    Could you include a wheel for linux armv7l?

    /Morgan

    opened by MorganLindqvist 1
  • Add a gate/check job to the GHA CI workflow

    Add a gate/check job to the GHA CI workflow

    This is an incarnation of https://github.com/pyca/pyopenssl/pull/1146 and https://github.com/pyca/cryptography/pull/7643.

    https://github.com/marketplace/actions/alls-green#why

    opened by webknjaz 0
  • Add footnote warning to hashing a hash

    Add footnote warning to hashing a hash

    It's generally not recommended to use bcrypt on top of another hashing algorithm. While doing it over sha256 is obviously not as bad as doing it over md5, I think it's important to note in the README that OWASP recommends against the practice.

    opened by FWDekker 3
  • Emphasise difference between round and work factor

    Emphasise difference between round and work factor

    I think it's confusing that the API uses rounds to describe the work factor of bcrypt; the two are similar but not quite the same, since rounds = 2^(work factor). I think it's important with cryptography that terminology is used unambiguously to prevent implementation mistakes. Would you consider changing the name of this parameter to work_factor, perhaps at some point in the future when you plan a new major release?

    opened by FWDekker 2
  • bcrypt 4.0.0 test failure on 32bit arch

    bcrypt 4.0.0 test failure on 32bit arch

    Tests fails due to a segfault on 32bit Mageia Cauldron, the development version of the distro. I can reproduce the issue also with Fedora 36 bcrypt mock build. Mock is a tool for a reproducible build of RPM packages.

    + /usr/bin/python3 -m tox --current-env -q --recreate -e py310
    ============================= test session starts ==============================
    platform linux -- Python 3.10.6, pytest-7.1.3, pluggy-1.0.0
    cachedir: .tox/py310/.pytest_cache
    rootdir: /builddir/build/BUILD/bcrypt-4.0.0
    collected 150 items
    
    tests/test_bcrypt.py ................................................... [ 34%]
    ........................................................................ [ 82%]
    ..Fatal Python error: Segmentation fault
    
    Current thread 0xf7938700 (most recent call first):
      File "/builddir/build/BUILDROOT/python-bcrypt-4.0.0-1.mga9.i386/usr/lib/python3.10/site-packages/bcrypt/__init__.py", line 127 in kdf
      File "/builddir/build/BUILD/bcrypt-4.0.0/tests/test_bcrypt.py", line 443 in test_kdf
      File "/usr/lib/python3.10/site-packages/_pytest/python.py", line 192 in pytest_pyfunc_call
      File "/usr/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
      File "/usr/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
      File "/usr/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
      File "/usr/lib/python3.10/site-packages/_pytest/python.py", line 1761 in runtest
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 166 in pytest_runtest_call
      File "/usr/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
      File "/usr/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
      File "/usr/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 259 in <lambda>
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 338 in from_call
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 258 in call_runtest_hook
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 219 in call_and_report
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 130 in runtestprotocol
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 111 in pytest_runtest_protocol
      File "/usr/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
      File "/usr/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
      File "/usr/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
      File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 347 in pytest_runtestloop
      File "/usr/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
      File "/usr/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
      File "/usr/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
      File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 322 in _main
      File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 268 in wrap_session
      File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 315 in pytest_cmdline_main
      File "/usr/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
      File "/usr/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
      File "/usr/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
      File "/usr/lib/python3.10/site-packages/_pytest/config/__init__.py", line 164 in main
      File "/usr/lib/python3.10/site-packages/_pytest/config/__init__.py", line 187 in console_main
      File "/usr/lib/python3.10/site-packages/pytest/__main__.py", line 5 in <module>
      File "/usr/lib/python3.10/site-packages/coverage/execfile.py", line 199 in run
      File "/usr/lib/python3.10/site-packages/coverage/cmdline.py", line 830 in do_run
      File "/usr/lib/python3.10/site-packages/coverage/cmdline.py", line 659 in command_line
      File "/usr/lib/python3.10/site-packages/coverage/cmdline.py", line 943 in main
      File "/usr/bin/coverage", line 8 in <module>
    ERROR: InvocationError for command /usr/bin/coverage run -m pytest --strict-markers (exited with code -11 (SIGSEGV)) (exited with code -11)
    ___________________________________ summary ____________________________________
    ERROR:   py310: commands failed
    

    Full build logs available in Fedora COPR, mageia-cauldron-i586 builder-live.log.gz.

    opened by wally-mageia 4
Owner
Python Cryptographic Authority
Python Cryptographic Authority
🔑 Password manager and password generator

Password-Manager Create Account Quick Login Generate Password Save Password Offline App Passwords are stored on your system and no one has access to t

Abbas Ataei 41 Nov 9, 2022
A tool that can encrypt python2 or python3 code with the given password and can reuse with that password

A tool that can encrypt python2 or python3 code with the given password and can reuse with that password

Md Rasel Bhuyan 3 Feb 28, 2022
GreenDoge is a modern community-centric green cryptocurrency based on a proof-of-space-and-time consensus algorithm.

GreenDoge Blockchain Download GreenDoge blockchain GreenDoge is a modern community-centric green cryptocurrency based on a proof-of-space-and-time con

null 40 Sep 11, 2022
Gold(Gold) is a modern cryptocurrency built from scratch, designed to be efficient, decentralized, and secure

gold-blockchain (Gold) Gold(Gold) is a modern cryptocurrency built from scratch, designed to be efficient, decentralized, and secure. Here are some of

zcomputerwiz 3 Mar 9, 2022
This is a webpage that contains login and signup page by which the password is stored using elliptic curve cryptography

LoginPage_using_Elliptic_curve_cryptography- This is a webpage that contains login and signup page by which the password is stored using elliptic curv

null 1 Oct 15, 2021
PyCrypter , A Tool To Encrypt/Decrypt Text/Code With Ease And Safe Using Password !

PyCrypter PyCrypter , A Tool To Encrypt/Decrypt Text/Code With Ease And Safe Using Password ! Requirements pyfiglet And colorama Usage First Clone The

null 1 Nov 12, 2021
A simple and secure password-based encryption & decryption algorithm based on hash functions, implemented solely based on python.

pyhcrypt A simple and secure password-based encryption & decryption algorithm based on hash functions, implemented solely based on python. Usage Pytho

Hongfei Xu 3 Feb 8, 2022
Hide secret texts inside an image, optionally encrypt them with a password using AES-256.

Hide secret texts/messages inside an image. You can optionally encrypt your texts with a password using AES-256 before encoding into the image.

Teja Swaroop 97 Dec 29, 2022
A simple, terminal password manager in Python.

A simple, terminal password manager in Python.

null 81 Nov 22, 2022
Get the length of the Instagram encrypted password

instagram-weak-encryption Get the length of the Instagram encrypted password Introduction Instagram and Facebook encrypt the password submitted at log

Giuseppe Criscione 19 Dec 9, 2022
Decrypting winrm traffic using password/ntlm hash

Decrypting winrm traffic using password/ntlm hash

Haoxi Tan 9 Jan 5, 2022
Vhost password decrypt for python

vhost_password_decrypt Where is symkey.dat Windows:C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx\ssl\symkey.dat Linux:/etc/vmware-vpx/ssl/symkey.

Jing Ling 152 Dec 22, 2022
Random Password Generator With Python

Random_Password_Generator example output length

Mahdi Rostami Pooya 2 Dec 22, 2021
A simple script useful to switch from Dashlane to Bitwarden by converting the password file to the right format.

A simple script useful to switch from Dashlane to Bitwarden by converting the password file to the right format.

null 3 May 6, 2022
Message Encrypt and decrypt software // allows you to encrypt the secrete message and decrypt Another Encryption Message. |

Message-Encrypy-Decrypt-App Message Encrypt and decrypt software // allows you to encrypt the secrete message and decrypt Another Encryption Message.

Abdulrahman-Haji 2 Dec 16, 2021
The Qis|krypt⟩ is a software suite of protocols of quantum cryptography and quantum communications

The Qis|krypt⟩ is a software suite of protocols of quantum cryptography and quantum communications, as well, other protocols and algorithms, built using IBM’s open-source Software Development Kit for quantum computing Qiskit. ⚛️ ??

Qiskrypt 14 Oct 31, 2022
The (Python-based) mining software required for the Nintendo Switch mining project.

ntgbtminer - Nintendo Switch edition This is a version of ntgbtminer that works with the Nintendo Switch bitcoin miner. ntgbtminer ntgbtminer is a no

null 4 Jun 3, 2021
The (Python-based) mining software required for the Game Boy mining project.

The (Python-based) mining software required for the Game Boy mining project.

Ghidra Ninja 31 Nov 4, 2022
Aza this is a text encryption software

Aza text encryptor General info Aza this is a text encryption software Help command: python aza.py --help Examples python aza.py --text "Sample text h

ToxidWorm 1 Sep 10, 2022