Skip to main content

Cryha

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

Metadata

Release files for cryha 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cryha 1.0
File Size Uploaded
cryha-1.0.tar.gz 22.1 kB Details

Release files / cryha-1.0.tar.gz

Download URL cryha-1.0.tar.gz
Size 22.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3b894bf121d3c5e74efc176d60de82c8761293315f1979c9d597f59bb58beed0
BLAKE2b-256 checksum
How to use checksums
b7f83b2ee5d168f1f4ac7b5c2ef159eefe5f227d1bd9051f6d6a8be9dab4fb22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page