blob: e0c36ba76ee078d141eb7ed773a136904364d1a0 [file] [log] [blame]
Alex Gaynor8d7fb752013-08-06 19:30:47 -07001Cryptography
2============
3
Donald Stufft85707942013-10-04 23:55:27 -04004.. image:: https://travis-ci.org/pyca/cryptography.png?branch=master
Alex Gaynor45afb352013-11-05 16:29:00 -08005 :target: https://travis-ci.org/pyca/cryptography
6
7.. image:: https://coveralls.io/repos/pyca/cryptography/badge.png?branch=master
8 :target: https://coveralls.io/r/pyca/cryptography?branch=master
9
Hynek Schlawackf30db512013-08-07 20:50:05 +020010
Alex Gaynor01ba7b72014-03-02 20:06:00 -080011``cryptography`` is a package which provides cryptographic recipes and
Alex Gaynor872cd972014-02-10 18:52:47 -080012primitives to Python developers. Our goal is for it to be your "cryptographic
13standard library". It supports Python 2.6-2.7, Python 3.2+, and PyPy.
Alex Gaynor7a6b5cb2013-08-07 09:56:34 -070014
Alex Gaynorc0469912014-02-11 14:21:46 -080015``cryptography`` includes both high level recipes, and low level interfaces to
16common cryptographic algorithms such as symmetric ciphers, message digests and
17key derivation functions. For example, to encrypt something with
18``cryptography``'s high level symmetric encryption recipe:
Alex Gaynor872cd972014-02-10 18:52:47 -080019
Alex Gaynor99936992014-02-11 14:10:37 -080020.. code-block:: pycon
Alex Gaynor872cd972014-02-10 18:52:47 -080021
22 >>> from cryptography.fernet import Fernet
23 >>> # Put this somewhere safe!
24 >>> key = Fernet.generate_key()
25 >>> f = Fernet(key)
26 >>> token = f.encrypt(b"A really secret message. Not for prying eyes.")
27 >>> token
28 '...'
29 >>> f.decrypt(token)
30 'A really secret message. Not for prying eyes.'
Alex Gaynor7a6b5cb2013-08-07 09:56:34 -070031
Donald Stufftbf9df012013-10-19 22:39:44 -040032You can find more information in the `documentation`_.
33
Paul Kehrerc01ddc82013-10-07 15:58:33 -050034Discussion
35~~~~~~~~~~
36
Alex Gaynora11e74c2014-02-01 16:25:56 -080037If you run into bugs, you can file them in our `issue tracker`_.
38
Paul Kehrerc01ddc82013-10-07 15:58:33 -050039We maintain a `cryptography-dev`_ mailing list for development discussion.
40
Alex Gaynore21e14a2013-10-22 14:25:49 -070041You can also join ``#cryptography-dev`` on Freenode to ask questions or get
42involved.
Paul Kehrerc01ddc82013-10-07 15:58:33 -050043
Alex Gaynore21e14a2013-10-22 14:25:49 -070044
45.. _`documentation`: https://cryptography.io/
Alex Gaynora11e74c2014-02-01 16:25:56 -080046.. _`issue tracker`: https://github.com/pyca/cryptography/issues
Paul Kehrerc01ddc82013-10-07 15:58:33 -050047.. _`cryptography-dev`: https://mail.python.org/mailman/listinfo/cryptography-dev