Easily encrypt data in Django
A set of primitives for easily encrypting data in Django, wrapping the Python Cryptography_ library. Also provided is a drop in replacement for Django's own cryptographic primitives, using Cryptography_ as the backend provider.
Do not forget to read the documentation_.
.. START HIDDEN .. image:: https://img.shields.io/github/workflow/status/georgemarshall/django-cryptography/CI/stable%2F1.1.x :target: https://github.com/georgemarshall/django-cryptography/actions/workflows/main.yml :alt: GitHub Workflow Status (branch) .. image:: https://img.shields.io/codecov/c/github/georgemarshall/django-cryptography/stable/1.1.x :target: https://codecov.io/gh/georgemarshall/django-cryptography/branch/stable%2F1.1.x :alt: Codecov branch .. END HIDDEN
Using symmetrical encryption to store sensitive data in the database.
Wrap the desired model field with encrypt
to easily
protect its contents.
.. code-block:: python
from django.db import models
from django_cryptography.fields import encrypt
class MyModel(models.Model): name = models.CharField(max_length=50) sensitive_data = encrypt(models.CharField(max_length=50))
The data will now be automatically encrypted when saved to the
database. encrypt
uses an encryption that allows for
bi-directional data retrieval.
.. code-block:: console
pip install django-cryptography
.. _Cryptography: https://cryptography.io/ .. _Django: https://www.djangoproject.com/ .. _Python: https://www.python.org/ .. _documentation: https://django-cryptography.readthedocs.io/en/latest/