cryptography is a package designed to expose cryptographic primitives and recipes to Python developers.
Permalink
Failed to load latest commit information.
.github Use a checklist for bumping openssl version (#4221) May 9, 2018
.jenkins switch cryptography wheel builders back to pip wheel (#4334) Jul 14, 2018
.travis Add flags to error on compile with incompatible pointer type (#4455) Sep 6, 2018
docs a few docs fixes and language improvements (#4472) Sep 14, 2018
src Remove conditionals for OpenSSL 1.1.1 pre-releases (#4467) Sep 15, 2018
tests OCSP request extension parsing (#4464) Sep 10, 2018
vectors add OCSP request with a request extension (nonce) (#4462) Sep 7, 2018
.coveragerc properly merge pypy coverage with coveragerc paths Jan 7, 2016
.gitignore Add bindings for SSL_OP_NO_DTLS* (#4079) Jan 16, 2018
.mention-bot @dstufft is also annoyed by the mentionbot Jan 2, 2016
.travis.yml 1.1.1 is out! (#4466) Sep 11, 2018
AUTHORS.rst Expose OpenSSL constant time bignum arithmetic (#4200) Apr 25, 2018
CHANGELOG.rst Fixes #4333 -- added support for precert poison extension (#4442) Aug 31, 2018
CONTRIBUTING.rst link the CONTRIBUTING.rst to the development section of our docs Mar 2, 2014
Jenkinsfile Add flags to error on compile with incompatible pointer type (#4455) Sep 6, 2018
LICENSE nit in LICENSE, itself doesn't make sense here (#4016) Nov 10, 2017
LICENSE.APACHE Added new license files. Refs #1209 Oct 31, 2014
LICENSE.BSD Added new license files. Refs #1209 Oct 31, 2014
LICENSE.PSF C locking callback (#3226) Nov 13, 2016
MANIFEST.in Fixes #3548 - add a pyproject.toml (#4363) Jul 23, 2018
README.rst Update URLs for new pypi! (#4194) Apr 15, 2018
codecov.yml revert codecov.yml workaround and pin coverage to 4.3.4 (#3662) Jun 3, 2017
dev-requirements.txt install only the minimum required to build our docs for rtd (#4133) Mar 6, 2018
pyproject.toml Fixes #3548 - add a pyproject.toml (#4363) Jul 23, 2018
release.py Remove CDN purging, the new PyPI does the right thing (#4198) Apr 17, 2018
rtd-requirements.txt install only the minimum required to build our docs for rtd (#4133) Mar 6, 2018
setup.py block sphinx 1.8.0 since it fails our docs job (#4469) Sep 14, 2018
tox.ini Move linkcheck tox env to use setup.py to get docs dependencies (#4473) Sep 14, 2018

README.rst

pyca/cryptography

Latest Version Latest Docs https://travis-ci.org/pyca/cryptography.svg?branch=master https://codecov.io/github/pyca/cryptography/coverage.svg?branch=master

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 2.7, Python 3.4+, and PyPy 5.3+.

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:

>>> 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
'...'
>>> f.decrypt(token)
'A really secret message. Not for prying eyes.'

You can find more information in the documentation.

You can install cryptography with:

$ 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 #cryptography-dev on Freenode to ask questions or get involved.

Security

Need to report a security issue? Please consult our security reporting documentation.