Skip to main content
Help improve PyPI by participating in a 5-minute user interface survey!

Toolkit for securing information into a database

Project Description

Cryha is a Python toolkit for securing information into a data base; it lets hash passwords, and encrypt/decrypt personal information. It is ready for input of Unicode characters, and the schema is returned as Unicode.

The text is stored according to this schema for a hash:

separator, the hash function identifier, separator, the salt, separator, the hash output

And this another for a cipher text:

separator, the cipher identifier, separator, the mode identifier, separator, the IV parameter, separator, the ciphertext

The idea of the schema has been taken of Linux systems that store the hashed passwords so, using a $ as separator.

The use of a schema let us to store the salt (for hash) and IV (for cipher) –which must be unique for each field–, together to the parameters that has been used to hashing/encrypting the text.

The salt and IV parameters are obtained from a random string –using the PRNG of the operating system– into a domain of 256 possible values for greater security.

[PRNG]Pseudo random number generator. In Linux is /dev/urandom.

Use

Typical usage:

>>> import cryha

Hasher:

>>> hasher = cryha.Hasher()
>>> hash = hasher.create('text')
>>> hasher.valid('text', hash)
True
>>> hasher.valid('Text', hash)
False

Crypter:

>>> crypter = cryha.Crypter(root_keyfile='.', dir_keyfile='test_crypter')
>>> crypt = crypter.encrypt('text')
>>> crypter.decrypt(crypt) == 'text'
True

Release history Release notifications

This version
History Node

1.0

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
cryha-1.0.tar.gz (22.1 kB) Copy SHA256 hash SHA256 Source None May 30, 2009

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