Metadata-Version: 1.0
Name: cryha
Version: 1.0
Summary: Toolkit for securing information into a database
Home-page: http://bitbucket.org/ares/cryha/
Author: Jonas Melian
Author-email: devel@jonasmelian.com
License: Apache License, Version 2.0
Description: 
        =====
        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
        
Keywords: security cryptography crypto symmetric hash database
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Database
Classifier: Topic :: Security :: Cryptography
