blob: 465dd555a05e9e5709d592db1cdf38d4ab89409d [file] [log] [blame]
Alex Gaynor8d7fb752013-08-06 19:30:47 -07001Cryptography
2============
3
Matt Iversen09347622014-05-20 02:47:22 +10004.. image:: https://pypip.in/version/cryptography/badge.svg
5 :target: https://pypi.python.org/pypi/cryptography/
6 :alt: Latest Version
7
Paul Kehrer77beba932014-09-27 11:41:32 -05008.. image:: https://readthedocs.org/projects/cryptography/badge/?version=latest
9 :target: https://cryptography.io
10 :alt: Latest Docs
11
Paul Kehrera7fd4602014-03-24 07:22:47 -040012.. image:: https://travis-ci.org/pyca/cryptography.svg?branch=master
Alex Gaynor45afb352013-11-05 16:29:00 -080013 :target: https://travis-ci.org/pyca/cryptography
14
15.. image:: https://coveralls.io/repos/pyca/cryptography/badge.png?branch=master
16 :target: https://coveralls.io/r/pyca/cryptography?branch=master
17
Hynek Schlawackf30db512013-08-07 20:50:05 +020018
Alex Gaynor01ba7b72014-03-02 20:06:00 -080019``cryptography`` is a package which provides cryptographic recipes and
Alex Gaynor872cd972014-02-10 18:52:47 -080020primitives to Python developers. Our goal is for it to be your "cryptographic
21standard library". It supports Python 2.6-2.7, Python 3.2+, and PyPy.
Alex Gaynor7a6b5cb2013-08-07 09:56:34 -070022
Alex Gaynorc0469912014-02-11 14:21:46 -080023``cryptography`` includes both high level recipes, and low level interfaces to
24common cryptographic algorithms such as symmetric ciphers, message digests and
25key derivation functions. For example, to encrypt something with
26``cryptography``'s high level symmetric encryption recipe:
Alex Gaynor872cd972014-02-10 18:52:47 -080027
Alex Gaynor99936992014-02-11 14:10:37 -080028.. code-block:: pycon
Alex Gaynor872cd972014-02-10 18:52:47 -080029
30 >>> from cryptography.fernet import Fernet
31 >>> # Put this somewhere safe!
32 >>> key = Fernet.generate_key()
33 >>> f = Fernet(key)
34 >>> token = f.encrypt(b"A really secret message. Not for prying eyes.")
35 >>> token
36 '...'
37 >>> f.decrypt(token)
38 'A really secret message. Not for prying eyes.'
Alex Gaynor7a6b5cb2013-08-07 09:56:34 -070039
Donald Stufftbf9df012013-10-19 22:39:44 -040040You can find more information in the `documentation`_.
41
Paul Kehrerc01ddc82013-10-07 15:58:33 -050042Discussion
43~~~~~~~~~~
44
Alex Gaynora11e74c2014-02-01 16:25:56 -080045If you run into bugs, you can file them in our `issue tracker`_.
46
Paul Kehrerc01ddc82013-10-07 15:58:33 -050047We maintain a `cryptography-dev`_ mailing list for development discussion.
48
Alex Gaynore21e14a2013-10-22 14:25:49 -070049You can also join ``#cryptography-dev`` on Freenode to ask questions or get
50involved.
Paul Kehrerc01ddc82013-10-07 15:58:33 -050051
Alex Gaynore21e14a2013-10-22 14:25:49 -070052
53.. _`documentation`: https://cryptography.io/
Alex Gaynora11e74c2014-02-01 16:25:56 -080054.. _`issue tracker`: https://github.com/pyca/cryptography/issues
Paul Kehrerc01ddc82013-10-07 15:58:33 -050055.. _`cryptography-dev`: https://mail.python.org/mailman/listinfo/cryptography-dev