Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

A field for database backed password crypto

Project description

This package provides database backed, encrypted fields for Django. The fields use database internal mechanisms to encrypt and verify strings completely inside the database. This functionality is interesting for use with passwords that are stored in a database as it allows the database to manage salting, hashing, and verification of the passwords.

Support notes

Currently only PostgreSQL is supported as a database backend. I would be happy if someone with experience in MySQL or other databases that support encryption would provide hints or implementations for their favourite database.

Usage

Using cryptofield is easy:

from django.db import models
import cryptofield

class ModelWithCrypto(models.Model):
    password = cryptofield.CryptoField()

Keyword arguments

The CryptoField class supports the following keyword arguments:

Keyword Description Values
algorithm The hashing algorithm to use bf (default), md5, xdes, des

Requirements (PostgreSQL)

To use this package with PostgreSQL, make sure that the database in use has the pgcrypto extension activated. To do so, issue the following command to the desired database:

CREATE EXTENSION IF NOT EXISTS pgcrypto;

If no error occurs, the CryptoField class can now be used with the database.

Project details


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_cryptofield-0.2.tar.gz (2.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

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