cryptography44.0.0
Published
cryptography is a package which provides cryptographic recipes and primitives to Python developers.
pip install cryptography
Package Downloads
Project URLs
Requires Python
!=3.9.0,!=3.9.1,>=3.7
Dependencies
- cffi
>=1.12; platform_python_implementation != "PyPy"
- bcrypt
>=3.1.5; extra == "ssh"
- nox
>=2024.4.15; extra == "nox"
- nox
[uv]>=2024.3.2; python_version >= "3.8" and extra == "nox"
- cryptography-vectors
==44.0.0; extra == "test"
- pytest
>=7.4.0; extra == "test"
- pytest-benchmark
>=4.0; extra == "test"
- pytest-cov
>=2.10.1; extra == "test"
- pytest-xdist
>=3.5.0; extra == "test"
- pretend
>=0.7; extra == "test"
- certifi
>=2024; extra == "test"
- pytest-randomly
; extra == "test-randomorder"
- sphinx
>=5.3.0; extra == "docs"
- sphinx-rtd-theme
>=3.0.0; python_version >= "3.8" and extra == "docs"
- pyenchant
>=3; extra == "docstest"
- readme-renderer
>=30.0; extra == "docstest"
- sphinxcontrib-spelling
>=7.3.1; extra == "docstest"
- build
>=1.0.0; extra == "sdist"
- ruff
>=0.3.6; extra == "pep8test"
- mypy
>=1.4; extra == "pep8test"
- check-sdist
; python_version >= "3.8" and extra == "pep8test"
- click
>=8.0.1; extra == "pep8test"
pyca/cryptography
.. image:: https://img.shields.io/pypi/v/cryptography.svg :target: https://pypi.org/project/cryptography/ :alt: Latest Version
.. image:: https://readthedocs.org/projects/cryptography/badge/?version=latest :target: https://cryptography.io :alt: Latest Docs
.. image:: https://github.com/pyca/cryptography/workflows/CI/badge.svg?branch=main :target: https://github.com/pyca/cryptography/actions?query=workflow%3ACI+branch%3Amain
cryptography
is a package which provides cryptographic recipes and
primitives to Python developers. Our goal is for it to be your "cryptographic
standard library". It supports Python 3.7+ and PyPy3 7.3.11+.
cryptography
includes both high level recipes and low level interfaces to
common cryptographic algorithms such as symmetric ciphers, message digests, and
key derivation functions. For example, to encrypt something with
cryptography
's high level symmetric encryption recipe:
.. code-block:: pycon
>>> from cryptography.fernet import Fernet
>>> # Put this somewhere safe!
>>> key = Fernet.generate_key()
>>> f = Fernet(key)
>>> token = f.encrypt(b"A really secret message. Not for prying eyes.")
>>> token
b'...'
>>> f.decrypt(token)
b'A really secret message. Not for prying eyes.'
You can find more information in the documentation
_.
You can install cryptography
with:
.. code-block:: console
$ pip install cryptography
For full details see the installation documentation
_.
Discussion
If you run into bugs, you can file them in our `issue tracker`_.
We maintain a `cryptography-dev`_ mailing list for development discussion.
You can also join ``#pyca`` on ``irc.libera.chat`` to ask questions or get
involved.
Security
~~~~~~~~
Need to report a security issue? Please consult our `security reporting`_
documentation.
.. _`documentation`: https://cryptography.io/
.. _`the installation documentation`: https://cryptography.io/en/latest/installation/
.. _`issue tracker`: https://github.com/pyca/cryptography/issues
.. _`cryptography-dev`: https://mail.python.org/mailman/listinfo/cryptography-dev
.. _`security reporting`: https://cryptography.io/en/latest/security/