cryptography is a package designed to expose cryptographic primitives and recipes to Python developers.
Find a file
Paul Kehrer 396bcf64c5
fix provider loading take two (#10390) (#10395)
we previously hoisted this into rust, but we used the try_load feature
which supposedly retains fallbacks. Something about that doesn't behave
the way we expect though and the machinery in providers is sufficiently
complex that we are just going to load the default provider explicitly.

this matches our behavior pre-rust.
2024-02-16 03:01:07 +00:00
.github bump openssl in CI (#10298) (#10299) 2024-01-30 17:05:07 +00:00
docs support bytes-like consistently across our asym sign/verify APIs (#10260) (#10265) 2024-01-26 11:48:45 -05:00
src fix provider loading take two (#10390) (#10395) 2024-02-16 03:01:07 +00:00
tests backport: initialize openssl's legacy provider in rust (#10323) (#10333) 2024-02-03 15:02:48 -05:00
vectors changelog and version bump 42.0.2 (#10268) 2024-01-30 17:16:58 +00:00
.gitattributes test py27 with windows container on azure (#4880) 2019-05-08 18:29:42 -04:00
.gitignore Move the remainder of the Rust coverage logic into the noxfile (#8936) 2023-05-17 19:58:47 +08:00
.readthedocs.yml Use a newer rust in RTD (#9797) 2023-10-29 12:30:23 -05:00
CHANGELOG.rst changelog and version bump 42.0.2 (#10268) 2024-01-30 17:16:58 +00:00
ci-constraints-requirements.txt Bump ruff from 0.1.13 to 0.1.14 (#10212) 2024-01-19 23:09:31 +00:00
CONTRIBUTING.rst
LICENSE drop support for openssl < 1.1.1d (#8449) 2023-03-24 08:36:58 -04:00
LICENSE.APACHE HTTPS a bunch of links in random places (#4666) 2018-12-31 10:10:09 -06:00
LICENSE.BSD
MANIFEST.in Switch from tox to nox (#8651) 2023-04-02 16:28:22 +09:00
noxfile.py Special-case installation of vectors in local nox (#10190) 2024-01-17 12:52:07 -03:00
pyproject.toml changelog and version bump 42.0.2 (#10268) 2024-01-30 17:16:58 +00:00
README.rst update pypy supported versions in the docs (#9318) 2023-07-31 17:41:15 -04:00
release.py fix the release script (#10233) (#10254) 2024-01-25 02:45:39 +00:00

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/