cryptography is a package which provides cryptographic recipes and primitives to Python developers.
Reason this release was yanked:
Regression in OpenSSL.
Project description
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 3.6+ and PyPy3 7.2+.
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 #pyca on irc.libera.chat to ask questions or get involved.
Security
Need to report a security issue? Please consult our security reporting documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for cryptography-38.0.2-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fa734b9a7cf555fecddd4ba23e2c5524719bacdd63fd61544166c1352fa5e48 |
|
MD5 | 31a563da84ee23f9c50cd8f0466d4f3d |
|
BLAKE2b-256 | b5975f15318a71eb76eaccf37cbc65b71254ce349453bae80a66ea8667e4624e |
Hashes for cryptography-38.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 407148dbe633d6f0bb3c6d4c0807d33a50d8dadfb1ca40b368fe72fcac4b2116 |
|
MD5 | 28982f0f8d018036c18ab6c6cf582b02 |
|
BLAKE2b-256 | 7eeb7bcb77297aa9ced40a3fffa03239fd86ca56263d8a2393d604689b9051be |
Hashes for cryptography-38.0.2-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8526fb97be3bae2977bdd8896a552c9149d04b6b77b36b7dfe026b16136061b2 |
|
MD5 | 89c6ecef562df7e6f4ec33f1be0a0143 |
|
BLAKE2b-256 | 4850da0f286fbac72464d602d12505ecc469f9f42fbc0ed37cb3ab0982b65d1f |
Hashes for cryptography-38.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e90261b616c0805f0147c50fc69f758d7e321f5c446eea291618f2aa6742c5f3 |
|
MD5 | 7ab2834afbaf1f70c573de5b6d2337ca |
|
BLAKE2b-256 | 6c928ead17e01362e878837c5db322ef8bbd373fab90a9b7f0cb12152da1f426 |
Hashes for cryptography-38.0.2-pp39-pypy39_pp73-macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e3040ec05cff2ec32719d2b6428d9c022463c3a97735b7ba524e0283a48c8b4 |
|
MD5 | e9cd8d3d4878b5987d46ec0abbf15e4c |
|
BLAKE2b-256 | b79e95cfa6fd5ca8f91120dbc349cefd4ebe82f1692e6aa05d022c67a6c24cf5 |
Hashes for cryptography-38.0.2-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e553175c49ae31db579342d342e649db36cd91f457f3a90eed47698451479890 |
|
MD5 | b2aae9286412fe5694863f070a890891 |
|
BLAKE2b-256 | b75650fbc04d81ca389c06d33385a1ced71cc2ec00b77dac9877b04abcdb51f6 |
Hashes for cryptography-38.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca99f9c7599a02cddb878c64a2c81bbe0ffef7424c202acef47dd7c069b7469a |
|
MD5 | 0e8fb0d472bdf0574e8f6954cfb7280d |
|
BLAKE2b-256 | e2511844f77c9c63d52ef058fb06b3352ff422e1c70a483d48de7cd7ac602fc0 |
Hashes for cryptography-38.0.2-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24cb9cb0ea0bc860250cb494ce59bb8d021c00de3a8ead140c0bb198bd0922ca |
|
MD5 | cb712c375d96332ec4ff5bcd9b7b9ea0 |
|
BLAKE2b-256 | 4575a61b68a9531f92f5d8d250b8cd8e139b737e0dcdc8b538591c2a7e0ba639 |
Hashes for cryptography-38.0.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b4c782b5f47751983f5acd29344210d4de36524b78fa4fc96e9e47d31e44654 |
|
MD5 | b835c08abe74dc9d6a5073d3b5cf7a9e |
|
BLAKE2b-256 | 592f2eaa0352e9b5cab705892615ab2c2b00ef61b3865655b1024f1fdc5c9d41 |
Hashes for cryptography-38.0.2-pp38-pypy38_pp73-macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ea4cbf5d8e8678dcd87fdb1bb5386d6a91cc8d738866f815c6839751221818c |
|
MD5 | a453728f1ce81ac6501cfa28943b8b35 |
|
BLAKE2b-256 | 521afc365eb1648781b3860aecd0b279d1b3c4bae0251374f68c7b3761c12b08 |
Hashes for cryptography-38.0.2-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a25c5e86d34ec43ea59848afc44ec941da0c6d126fcc9ace72a1360e096e528b |
|
MD5 | ab64ed834b2291bb9cedab7da7889b40 |
|
BLAKE2b-256 | 408f3802ecdb27c776ab413c749e1f431f12a7c23cedd2c55d3acd0f14c17189 |
Hashes for cryptography-38.0.2-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d631744fdd965a6ca7e94106046c62ca26cd55a13c47aa76f9d07aa30806b8b |
|
MD5 | e7cbc3774e5dbd2fe5e1ffecaaec7e23 |
|
BLAKE2b-256 | 83c29271c95560fbf61a0ef3c383eebb3e6902f3fd984f315d4a85f1d64c0691 |
Hashes for cryptography-38.0.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc7852c5f61c62df783bccdef935d5d64ca0dac7e6ace07f9937eff31690ce20 |
|
MD5 | 872498cfcc612183617271121ddd2138 |
|
BLAKE2b-256 | f463ac06de07e532ea968806500925e05ee11ea888cc652fde0218892fe23e7a |
Hashes for cryptography-38.0.2-cp36-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab4d517e2dc08d862493e727a4411ce6caab8a7ac2089b99a059d938ced5aa8b |
|
MD5 | 65c6c9dec832160c9c6429edd9dd0d47 |
|
BLAKE2b-256 | 46220ddd7302932de420cb5a5e632f0e9e2ff7aa3a7361f619775903e3c08f3d |
Hashes for cryptography-38.0.2-cp36-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc8d465c2cf489f12f1168670a4eb90e68701916b15f5a1c6a1dd0f9c0b02e92 |
|
MD5 | fc7bab3d940eda2e5e844e937dac667d |
|
BLAKE2b-256 | 3f62c840dd8f6d09a1a750a15c640164ffe137afc50b5ae57f9c2aa4fd3e5be3 |
Hashes for cryptography-38.0.2-cp36-abi3-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c6987de4b656f4d8d70ce422b5e275deedf9bf28d99e0470d50706a1470822c |
|
MD5 | 1e4105b1d8c493af0cc05b20c2e13e4f |
|
BLAKE2b-256 | d85a080c8a4d0d1727be8950bf3f90e97af253b317c3a8c5ad37f178c739895c |
Hashes for cryptography-38.0.2-cp36-abi3-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74ccc297d7cd013ca7faf640afaedb305b265420b342ab32d5fa07ddd19f24a1 |
|
MD5 | d2b457d97152e60fc0a8eb5c6d9dac96 |
|
BLAKE2b-256 | 56c2fe3c20051d3cf56b5c52444b878d92295451414f0a648457cfcf87d3ef60 |
Hashes for cryptography-38.0.2-cp36-abi3-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55974e634712f7d054886a754a10c67b58e6a9d1c6c3d0d1181919e7fb336d0e |
|
MD5 | 6a1040fef50e043a24388ce30cdf8345 |
|
BLAKE2b-256 | 561e2ffbbdddfe17308511cb2e06ac8c5aced9391dd5eea339e330a204edac34 |
Hashes for cryptography-38.0.2-cp36-abi3-manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb603f1809dd095d07a426d81457f4b8236ff4d7a67a976f9da47e13977d427e |
|
MD5 | 57216da5ee647ca510d521813db77d19 |
|
BLAKE2b-256 | 988998df97a1b7c14bebe75dc64d88d3c997dae8370cc75e00fc0c5e3fdb6300 |
Hashes for cryptography-38.0.2-cp36-abi3-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e03aaa0bb3783302ea23f0f483222d918f148c65e0f953d1c8d82f5e509a7fab |
|
MD5 | 04dd7aec1f02e734c729f6e911329c5d |
|
BLAKE2b-256 | 1e5d83bdf0aafb9535fd95e5059af4d37e752ca2ea2d8cc63225f9f70486dd36 |
Hashes for cryptography-38.0.2-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b99713109d76ad35736dcc4e47d54fbaa36cce761adc0333db75e86621fa68c |
|
MD5 | 78cc9f5b632f9a44b51566366ed5e37c |
|
BLAKE2b-256 | 923d6f9b9f562c2cc7ff4985bc18822308edbf546de1475563ad51410874c7e3 |
Hashes for cryptography-38.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32f4ab6652f0630884cc902154f1f26a3a5d8495404250019172dca6fd4abf70 |
|
MD5 | fd93def846b6b925df8d63624a1018b3 |
|
BLAKE2b-256 | 111cae3ab9db5ef9df6dbd003c03b78b2aa50b3d1f51ae4bb4f9e6ac1d459a1a |
Hashes for cryptography-38.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd6ca1f5541420f13250b3335228dc7eb6102761a107442cbfba5de4ccc99891 |
|
MD5 | db64f8ed838ee7c3a238c6fbb189d8e9 |
|
BLAKE2b-256 | 063592429261fd3b38dafe949ffd2fd66176bee6e5fd2e66d8cbd3a636a6785a |
Hashes for cryptography-38.0.2-cp36-abi3-macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d14f7e1e6726046c8afd240673cb31828dbd434d710d4ecb2060982e5c76df75 |
|
MD5 | 08cf44f04638b7a799d05c27c2bafa1f |
|
BLAKE2b-256 | abe7f14f61d6e483495ba1122e3e37ed6c69c67cfd5cb4488affc0375830dadd |
Hashes for cryptography-38.0.2-cp36-abi3-macosx_10_10_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6635b89790a616913ae95977dcd756582a3c5a298a0b8f4071a35ec8809e1cab |
|
MD5 | 5170bc5a992464885c4d4b0f560abec4 |
|
BLAKE2b-256 | bbf479b46cb4abbcb6f1664e6e3b70841efc525c3d0c9c002fc031253c0feadb |