cryptography is a package designed to expose cryptographic primitives and recipes to Python developers.
Python C Other
Latest commit 82393f9 Apr 22, 2017 @alex alex committed with reaperhulk bump minimum setuptools version (#3513)
This is sort of a pre-req for #3508 (but not really, because setuptools needs to be this version before even runs for that PR). Because we still support older setuptools versions in our pkg_resources code, this is mostly a gentle nudge to the ecosystem.
Failed to load latest commit information.
.jenkins Update wheel scripts to match what Jenkins has (#3459) Mar 20, 2017
.travis Fixed #3334 -- added Python 3.6 support (#3335) Dec 23, 2016
docs format some function names in docs (#3511) Apr 21, 2017
src Additional SCT bindings (#3510) Apr 21, 2017
tests Attempt to simplify the libressl checing (#3482) Mar 26, 2017
vectors Refs #3461 -- added a test vector with SCTs (#3462) Mar 20, 2017
.coveragerc properly merge pypy coverage with coveragerc paths Jan 7, 2016
.gitignore Fix .gitignore. Sep 26, 2015
.mention-bot @dstufft is also annoyed by the mentionbot Jan 2, 2016
.travis.yml bump openssl for tests to 1.1.0e (#3399) Feb 16, 2017
AUTHORS.rst Dh serialization changelog (#3385) Feb 8, 2017
CHANGELOG.rst port 1.8.1 changelog and update master for 1.9 release cycle (#3440) Mar 10, 2017
CONTRIBUTING.rst link the CONTRIBUTING.rst to the development section of our docs Mar 2, 2014
LICENSE New osrandom_engine in C (#3229) Dec 9, 2016
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 convert to cffi 1.0 precompile system Jun 8, 2015
README.rst Fixed #3141 -- link some install docs in the readme (#3146) Sep 13, 2016
codecov.yml Migrate to codecov.yml (#2927) May 29, 2016
dev-requirements.txt tox 2.4 has new syntax for specifying extras (#3212) Nov 6, 2016 bump minimum setuptools version (#3513) Apr 22, 2017 move bar.done out of the loop because obviously Nov 8, 2015
tox.ini Removed some legacy garbage (#3502) Apr 13, 2017



Latest Version Latest Docs

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.6-2.7, Python 3.3+, and PyPy 2.6+.

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.


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.