Skip to main content

Django Model Field that supports AES encryption in MySQL

Project description

Provides an AES field for Django that works with MySQL to do the AES encryption and decryption in the database.

See: https://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_aes-decrypt

Credit:

  • Kumar McMillan did a lot of this work.

Usage

Like any other field:

from aesfield.field import AESField

class SomeModel(...):
    key = AESField()

Configuration

AESField takes the following parameters beyond a normal CharField:

  • aes_prefix: the prefix to use on fields, defaults to aes:
  • aes_key: the key to use in the lookup method to find a suitable key for this field, defaults to default

Settings:

  • AES_METHOD: the module to look in for a key lookup method, if you want something different from the default, aesfield.default
  • AES_KEYS: used by the aesfield.default method. It’s a dictionary of keys to filenames. Those files must be able to be read by the Django process. It must have a default key, unless you specify a specifc one in aes_key

Commands

If you add aesfield to INSTALLED_APPS you’ll get one more command, generate_aes_keys. This will generate a new file for each file mentioned in the AES_KEYS dictionary. But only if that file does not already exist.

Project details


Release history Release notifications

This version
History Node

0.2.1

History Node

0.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-mysql-aesfield-0.2.1.tar.gz (4.1 kB) Copy SHA256 hash SHA256 Source None Sep 21, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page