Я хочу зашифровать и расшифровать поле модели и сохранить в базе данных [закрыто]
Я хочу зашифровать поле subject и сохранить в базе данных, а затем расшифровать то же поле только тогда, когда это необходимо. Но поскольку я здесь новичок, я не понимаю, как именно это сделать... Не могли бы вы помочь мне с этой сложной частью? Если кто-то знает ответ, не могли бы вы прислать мне полный код, который вы уже использовали и который работает нормально.
-----------models.py
from smtplib import SMTP_PORT
from django.db import models
from encrypted_model_fields.fields import EncryptedCharField
# from django_cryptography.fields import encrypt
from cryptography.fernet import Fernet
class WarmupEmail(models.Model):
user_email=models.EmailField(max_length=150,default="")
password= models.CharField(max_length=50)
SMTP_PORT=models.CharField(max_length=150,default="")
password=EncryptedCharField(max_length=100)
SMTP_HOST=models.CharField(max_length=150,default="")
Is_Active=models.BooleanField(default=False)
subject=models.CharField(max_length=200,default="") ### this field want to encrypt
Body=models.CharField(max_length=1000,default="")
def __str__(self) :
return self.user_email
class Recipient(models.Model):
user_email=models.EmailField(max_length=150,default="")
password=models.CharField(max_length=50)
SMTP_PORT=models.CharField(max_length=150,default="")
SMTP_HOST=models.CharField(max_length=150,default="")
Is_Active=models.BooleanField(default=False)
Reply_msg=models.CharField(max_length=200,default="")
Reply_Body=models.CharField(max_length=1000,default="")
def __str__(self) :
return self.user_email
----------serializers.py
from rest_framework import serializers
from .models import *
class WarmupEmail_Serializer(serializers.ModelSerializer):
class Meta:
model = WarmupEmail
fields = '__all__'
class Recipient_Serializer(serializers.ModelSerializer):
class Meta:
model = Recipient
fields = '__all__'