Campos e storages criptografados para o Django com suporte a timestamp para evitar cache.
Project description
django-encrypted-fields
Uma biblioteca Django para criptografar e descriptografar campos em modelos (ORM), incluindo tipos de dados simples, arquivos e imagens.
Esta biblioteca utiliza o módulo cryptography.fernet para garantir a criptografia simétrica, protegendo dados sensíveis de maneira simples e eficaz.
Funcionalidades
- Criptografa campos de tipos de dados como
IntegerField,FloatField,CharField,BooleanField, entre outros. - Suporte a campos de arquivo (
FileField) e imagens (ImageField) com criptografia. - Integração fácil com o ORM do Django, sem necessidade de alterações no modelo.
- Segurança robusta utilizando o
cryptography.fernet.
Requisitos
- Python 3.10 ou superior
- Django 4.2 ou superior
- Biblioteca
cryptography - Biblioteca
pillow - Biblioteca
django
Instalação
Para instalar a biblioteca, basta adicionar o pacote no seu projeto ou instalá-lo via pip.
Usando pip:
pip install django-encrypted-fields
Manualmente:
-
Baixe o código fonte ou clone o repositório:
git clone https://github.com/D3NKYT0/django-encrypted-fields
-
Instale os requisitos:
pip install -r requirements.txt
Configuração
-
Adicione a chave de criptografia no arquivo
settings.py:No arquivo
settings.py, defina a chave de criptografiaENCRYPTION_KEY:ENCRYPTION_KEY = 'sua_chave_gerada_aleatoriamente_com_32_bytes' DATA_UPLOAD_MAX_MEMORY_SIZE = 10485760 # 10 * 1024 * 1024 SERVE_DECRYPTED_FILE_URL_BASE = 'patch/here/'
Importante: A chave de criptografia deve ser mantida em segredo. Use uma chave única para o seu projeto e não compartilhe publicamente.
-
Adicionar
django-encrypted-fieldsà lista de apps instalados:No arquivo
settings.py, adicione o app à listaINSTALLED_APPS:INSTALLED_APPS = [ # outros apps 'server_files', # Seu app com os campos criptografados ]
Uso
Modelos
Agora, você pode usar os campos criptografados em seus modelos Django da seguinte forma:
from django.db import models
from encrypted_fields.encrypted_fields import *
from encrypted_fields.encrypted_files import *
class MeuModelo(models.Model):
campo_inteiro = EncryptedIntegerField()
campo_arquivo = EncryptedFileField(upload_to='arquivos/')
campo_imagem = EncryptedImageField(upload_to='imagens/')
Funcionalidade dos campos:
EncryptedIntegerField: Campo para armazenar valores inteiros criptografados.EncryptedFileField: Campo para armazenar arquivos criptografados.EncryptedImageField: Campo para armazenar imagens criptografadas.
Os valores são criptografados automaticamente antes de serem salvos no banco de dados e descriptografados quando acessados.
Contribuição
Sinta-se à vontade para contribuir! Para sugestões ou melhorias, siga os seguintes passos:
- Faça um fork deste repositório.
- Crie uma branch (
git checkout -b feature-nome-da-sua-feature). - Comite suas mudanças (
git commit -am 'Adicionando nova funcionalidade'). - Envie para o repositório remoto (
git push origin feature-nome-da-sua-feature). - Abra um Pull Request.
Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.
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 Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_encrypted_fields_and_files-0.1.12.tar.gz.
File metadata
- Download URL: django_encrypted_fields_and_files-0.1.12.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2402a7c71755a6c60d167e8f5b51f2f5f3662ed3a8f3bb3311026f63ed92bff
|
|
| MD5 |
f8366cce7988ddb87752bea05e23614b
|
|
| BLAKE2b-256 |
683cb2aef4d90aa20b2b6c3e485350062333e34770dbdecf8b5f31bf709f54b7
|
File details
Details for the file django_encrypted_fields_and_files-0.1.12-py3-none-any.whl.
File metadata
- Download URL: django_encrypted_fields_and_files-0.1.12-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed1b16c4bb8c985dd1cd6a4aa9f1ac008784d4349f644c0312de39e072bf0ff3
|
|
| MD5 |
a4bb361a316c5d2aeeb7656957fce0de
|
|
| BLAKE2b-256 |
fbbf7403e8f23fac5aeee7c6ef6888c7345189b2a0176060cf92656df2586c77
|