FileSystemStorage subclass for Django that encrypts/compresses with PZip.
Project description
django-pzip-storage
A FileSystemStorage subclass for Django that encrypts/compresses with PZip.
Installation
pip install django-pzip-storage
Usage
The simplest way to use PZipStorage
is by setting your
DEFAULT_FILE_STORAGE to
pzip_storage.PZipStorage
. By default, PZipStorage
will use your SECRET_KEY
setting as the encryption key.
IMPORTANT: Encrypting with SECRET_KEY
means you must keep SECRET_KEY
a secret, and if you lose or reset it
without first rotating the keys of all stored files, they will be lost forever.
PZipStorage
may be used with existing unencrypted files, as a drop-in replacement for FileSystemStorage
. If it
determines the requested file is not a PZip file, it will delegate to FileSystemStorage
after emitting a
needs_encryption
signal (see below).
You may also use PZipStorage
as a custom storage backend anywhere Django allows it; see
Managing Files in the Django documentation for more information.
Signals
PZipStorage
emits a number of signals when opening files in various circumstances:
pzip_storage.needs_rotation
- sent when a file was decrypted using an old key, i.e. not the first key in the provided list.pzip_storage.needs_encryption
- sent when an unencrypted file was opened.pzip_storage.bad_keys
- sent when an encrypted file was opened, but no keys in the list could decrypt it.
You may listen for these signals to do things like gradual encryption, key rotation, or logging.
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 Distributions
Built Distribution
File details
Details for the file django_pzip_storage-0.9.0-py3-none-any.whl
.
File metadata
- Download URL: django_pzip_storage-0.9.0-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e56d4f702ed56626107ad5074b006f092f2308401f349f1892dfcc97bee93c29 |
|
MD5 | 6432e3c3bee271959feda5565c9fcdef |
|
BLAKE2b-256 | be7918da368702579debfa14a2a23917bbb217f6a55811b8b7d99e56c21c9ed1 |