| Alex Gaynor | 8d7fb75 | 2013-08-06 19:30:47 -0700 | [diff] [blame] | 1 | Cryptography |
| 2 | ============ |
| 3 | |
| Donald Stufft | 8570794 | 2013-10-04 23:55:27 -0400 | [diff] [blame] | 4 | .. image:: https://travis-ci.org/pyca/cryptography.png?branch=master |
| Alex Gaynor | 45afb35 | 2013-11-05 16:29:00 -0800 | [diff] [blame] | 5 | :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 Schlawack | f30db51 | 2013-08-07 20:50:05 +0200 | [diff] [blame] | 10 | |
| Alex Gaynor | 01ba7b7 | 2014-03-02 20:06:00 -0800 | [diff] [blame] | 11 | ``cryptography`` is a package which provides cryptographic recipes and |
| Alex Gaynor | 872cd97 | 2014-02-10 18:52:47 -0800 | [diff] [blame] | 12 | primitives to Python developers. Our goal is for it to be your "cryptographic |
| 13 | standard library". It supports Python 2.6-2.7, Python 3.2+, and PyPy. |
| Alex Gaynor | 7a6b5cb | 2013-08-07 09:56:34 -0700 | [diff] [blame] | 14 | |
| Alex Gaynor | c046991 | 2014-02-11 14:21:46 -0800 | [diff] [blame] | 15 | ``cryptography`` includes both high level recipes, and low level interfaces to |
| 16 | common cryptographic algorithms such as symmetric ciphers, message digests and |
| 17 | key derivation functions. For example, to encrypt something with |
| 18 | ``cryptography``'s high level symmetric encryption recipe: |
| Alex Gaynor | 872cd97 | 2014-02-10 18:52:47 -0800 | [diff] [blame] | 19 | |
| Alex Gaynor | 9993699 | 2014-02-11 14:10:37 -0800 | [diff] [blame] | 20 | .. code-block:: pycon |
| Alex Gaynor | 872cd97 | 2014-02-10 18:52:47 -0800 | [diff] [blame] | 21 | |
| 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 Gaynor | 7a6b5cb | 2013-08-07 09:56:34 -0700 | [diff] [blame] | 31 | |
| Donald Stufft | bf9df01 | 2013-10-19 22:39:44 -0400 | [diff] [blame] | 32 | You can find more information in the `documentation`_. |
| 33 | |
| Paul Kehrer | c01ddc8 | 2013-10-07 15:58:33 -0500 | [diff] [blame] | 34 | Discussion |
| 35 | ~~~~~~~~~~ |
| 36 | |
| Alex Gaynor | a11e74c | 2014-02-01 16:25:56 -0800 | [diff] [blame] | 37 | If you run into bugs, you can file them in our `issue tracker`_. |
| 38 | |
| Paul Kehrer | c01ddc8 | 2013-10-07 15:58:33 -0500 | [diff] [blame] | 39 | We maintain a `cryptography-dev`_ mailing list for development discussion. |
| 40 | |
| Alex Gaynor | e21e14a | 2013-10-22 14:25:49 -0700 | [diff] [blame] | 41 | You can also join ``#cryptography-dev`` on Freenode to ask questions or get |
| 42 | involved. |
| Paul Kehrer | c01ddc8 | 2013-10-07 15:58:33 -0500 | [diff] [blame] | 43 | |
| Alex Gaynor | e21e14a | 2013-10-22 14:25:49 -0700 | [diff] [blame] | 44 | |
| 45 | .. _`documentation`: https://cryptography.io/ |
| Alex Gaynor | a11e74c | 2014-02-01 16:25:56 -0800 | [diff] [blame] | 46 | .. _`issue tracker`: https://github.com/pyca/cryptography/issues |
| Paul Kehrer | c01ddc8 | 2013-10-07 15:58:33 -0500 | [diff] [blame] | 47 | .. _`cryptography-dev`: https://mail.python.org/mailman/listinfo/cryptography-dev |