
Wachtwoord
==========

Wachtwoord is a password hashing library currently specific to Python 3. It
was written as none of the existing password hashing libraries supported
Python 3. Porting one of the existing libraries could have been an option.
However writing Wachtwoord proofed a good exercise in creating a complete Python
package for distribution.

Supported hashing schemes
-------------------------

At the moment only one specific scheme is supported: `PBKDF2
<http://en.wikipedia.org/wiki/PBKDF2>`

The algorithm implemented here was modelled after/copied from:
http://stackoverflow.com/questions/287517/encrypting-hashing-plain-text-passwords-in-database/287883#287883

Basic Usage
-----------

.. sourcecode:: python

    from wachtwoord.pbkdf2 import Engine
    engine = Engine()
    hash_encoded_password = engine.hash('secret_123')
    print(hash_encoded_password)

    is_correct_password = engine.verify('secret_123', hash_encoded_password)
    print(is_correct_password)

or alternatively:

.. sourcecode:: python

    from wachtwoord.pbkdf2 import hash_password, verify_password
    hash_encoded_password = hash_password('secret_123')
    print(hash_encoded_password)

    is_correct_password = verify_password('secret_123', hash_encoded_password)
    print(is_correct_password)


Origin of the name Wachtwoord
-----------------------------

Wachtwoord is Dutch for password.

