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>
)