A password hashing function that supports delegation
Makwa is a password hashing function designed by Thomas Pornin. This implementation is in pure python with no 3rd party dependencies. From the Passwords14 Slides:
Makwa is a candidate to the Password Hashing Competition. Main characteristics: * based on modular arithmetics * CPU-only cost (not memory-hard) * algebraic structure enables advanced features: offline work * factor increase, fast path, escrow * can be delegated * named after the Ojibwe name for the American black bear
pip install makwa
from makwa import hashpw, checkpw hashed_pw = hashpw( password, n, h=<hash function>, salt=<optional salt>, work_factor=<rounds>, pre_hash=<True|False>, post_hash=<length|None> ) # returns a boolean is_valid = checkpw( password, hashed_pw, n, h=<hash function> )
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.