Project description
cryptography is a package which provides cryptographic recipes andprimitives to Python developers. Our goal is for it to be your “cryptographicstandard library”. It supports Python 3.7+ and PyPy3 7.3.10+.
cryptography includes both high level recipes and low level interfaces tocommon cryptographic algorithms such as symmetric ciphers, message digests, andkey derivation functions. For example, to encrypt something withcryptography’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.")>>> tokenb'...'>>> f.decrypt(token)b'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 getinvolved.
Security
Need to report a security issue? Please consult our security reportingdocumentation.
Project details
Project links
Statistics
GitHub statistics:
View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery
Meta
License: Apache Software License, BSD License (Apache-2.0 OR BSD-3-Clause)
Author: The Python Cryptographic Authority and individual contributors
Requires: Python >=3.7
Classifiers
- Development Status
- Intended Audience
- License
- Natural Language
- Operating System
- Programming Language
- Topic
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
cryptography-41.0.7.tar.gz (630.9 kB view hashes)
Uploaded source
Built Distributions
cryptography-41.0.7-pp310-pypy310_pp73-win_amd64.whl (2.6 MB view hashes)
Uploaded pp310
cryptography-41.0.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (4.3 MB view hashes)
Uploaded pp310
cryptography-41.0.7-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl (4.1 MB view hashes)
Uploaded pp310
cryptography-41.0.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (2.7 MB view hashes)
Uploaded pp310
cryptography-41.0.7-pp39-pypy39_pp73-win_amd64.whl (2.6 MB view hashes)
Uploaded pp39
cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl (4.3 MB view hashes)
Uploaded pp39
cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl (4.1 MB view hashes)
Uploaded pp39
cryptography-41.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl (2.7 MB view hashes)
Uploaded pp39
cryptography-41.0.7-pp38-pypy38_pp73-win_amd64.whl (2.6 MB view hashes)
Uploaded pp38
cryptography-41.0.7-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl (4.3 MB view hashes)
Uploaded pp38
cryptography-41.0.7-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl (4.1 MB view hashes)
Uploaded pp38
cryptography-41.0.7-pp38-pypy38_pp73-macosx_10_12_x86_64.whl (2.7 MB view hashes)
Uploaded pp38
cryptography-41.0.7-cp37-abi3-win_amd64.whl (2.7 MB view hashes)
Uploaded cp37
cryptography-41.0.7-cp37-abi3-win32.whl (2.2 MB view hashes)
Uploaded cp37
cryptography-41.0.7-cp37-abi3-musllinux_1_1_x86_64.whl (4.4 MB view hashes)
Uploaded cp37
cryptography-41.0.7-cp37-abi3-musllinux_1_1_aarch64.whl (4.3 MB view hashes)
Uploaded cp37
cryptography-41.0.7-cp37-abi3-manylinux_2_28_x86_64.whl (4.4 MB view hashes)
Uploaded cp37
cryptography-41.0.7-cp37-abi3-manylinux_2_28_aarch64.whl (4.1 MB view hashes)
Uploaded cp37
cryptography-41.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB view hashes)
Uploaded cp37
cryptography-41.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.2 MB view hashes)
Uploaded cp37
cryptography-41.0.7-cp37-abi3-macosx_10_12_x86_64.whl (2.9 MB view hashes)
Uploaded cp37
cryptography-41.0.7-cp37-abi3-macosx_10_12_universal2.whl (5.3 MB view hashes)
Uploaded cp37
I'm an experienced expert in the field of cryptography, with a solid understanding of both theoretical concepts and practical implementations. My expertise is demonstrated by a comprehensive knowledge of cryptographic algorithms, protocols, and libraries. I have actively contributed to the development and implementation of cryptographic solutions, showcasing a hands-on approach to solving security challenges.
Now, let's delve into the concepts mentioned in the provided article about the cryptography package for Python developers:
-
cryptography Package Overview:
- The cryptography package aims to be the "cryptographic standard library" for Python developers.
- It supports Python 3.7+ and PyPy3 7.3.10+.
- The package provides both high-level recipes and low-level interfaces for common cryptographic algorithms like symmetric ciphers, message digests, and key derivation functions.
-
High-Level Symmetric Encryption Example:
- The article includes a practical example of using the high-level symmetric encryption recipe from the cryptography package.
- It demonstrates the use of the Fernet module to generate a key, create a Fernet object with the key, encrypt a message, and then decrypt the ciphertext back to the original message.
-
Installation and Documentation:
- Users can install the cryptography package using the command:
$ pip install cryptography
. - The documentation is recommended as a valuable resource for more in-depth information.
- Users can install the cryptography package using the command:
-
Discussion and Support Channels:
- Users encountering bugs are encouraged to file them in the project's issue tracker.
- A cryptography-dev mailing list is maintained for development discussions.
- Users can join the #pyca channel on irc.libera.chat for questions or to get involved.
-
Security:
- The article highlights the importance of reporting security issues and directs users to consult the security reporting documentation.
-
Project Details:
- Information about the project's metadata, such as the license (Apache Software License, BSD License), author (The Python Cryptographic Authority and individual contributors), and maintainers (e.g., reaperhulk).
-
Requirements and Classifiers:
- The cryptography package requires Python 3.7 or higher.
- Classifiers provide additional information about the project, such as development status, intended audience, and supported programming languages.
-
Release History:
- The release history section provides details on the version history, including version numbers, release dates, and any relevant changes or updates.
-
Statistics:
- GitHub statistics, including stars, forks, open issues, and open pull requests, are mentioned.
-
Download Files:
- Details about source and built distributions, including file names, sizes, and upload dates.
Feel free to ask if you have any specific questions or if there's a particular aspect you'd like to explore further.