Django Cryptography
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.
Cryptography by example
Using symmetrical encryption to store sensitive data in the database.
Wrap the desired model field with encrypt
to easily protect its
contents.
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.
Requirements
- Python (3.7, 3.8, 3.9, 3.10, 3.11)
- Cryptography (2.0+)
- Django (3.2, 4.1, 4.2)
Installation
pip install django-cryptography