Tags: unixnut/hashpw
Tags
v2.5.0: Support PBKDF2 and round counts setup.*: Bumped version src/hashpw/__init__.py: + PBKDF2 now in `algorithms` + 'rounds' in settings now passed to algorithm init() + Bumped version src/hashpw/structure.py: + Algorithm::init() Sets rounds to -1 if command-line argument present and keyword arg not "consumed" by subclass init() + Algorithm::__init__() raises if `rounds_strategy` not set but `rounds` property present + Added Algorithm::set_rounds() + SaltedAlgorithm: Added `supports_long_salt` property + SaltedAlgorithm::init() calls parent class's init() + SaltedAlgorithm::extract_salt() can now detect and extract a long salt if present when expecting a short salt + SaltedAlgorithm::hash() uses extract_salt(); and bug fix + BinarySaltedAlgorithm::hash() uses old SaltedAlgorithm behaviour src/hashpw/algs/Blowfish.py: Added Blowfish::init() src/hashpw/algs/PBKDF2.py: Now working src/hashpw/algs/Phpass.py: + Added Phpass::init() + Removed Phpass::final_prep() + Phpass::__init__() catches ValueError and raises errors.RoundException src/hashpw/algs/{SHA256,SHA512.py}: init() supports `kwargs` src/hashpw/cli.py: + Removed unsupported algorithm options from usage string + Added --debug (sets logging level to logging.DEBUG) + Fixes for rounds options parsing + `try` block for hashpw.init() + create_hasher() is called before password is read + Added --version src/hashpw/errors.py: New classes Started type hinting
v2.4.1: Blowfish fix; fixed MD5 command-line option src/hashpw/algs/Blowfish.py: Fixed salt_length and min_length src/hashpw/algs/MD5.py src/hashpw/errors.py: Added LogicException src/hashpw/structure.py: recognise_salt() now uses recognise_salt_internal() src/hashpw/cli.py: Added new command-line options including for missing algorithms Added many extra tests too
v2.3.0: Python 3 conversion, started refactoring, added tests setup.py: + Bumped version + removed Click dependency + fixed description & entry_points + Switched to `packages` and `package_dir` + Added missing settings Added setup.cfg Initial refactoring and other changes: + Renamed hashpw.py to src/hashpw/cli.py + Added src/hashpw/__init__.py + Python 3 conversion + Moved TO-DOs to README.md + Uses src/hashpw/contrib/tback.py for Apache MD5 + Now imports passlib.* at top level instead of in Phpass + Exit code constants + Inserted PLSaltedAlgorithm into the class hierarchy for algs that use passlib and need to control the salt + Added an efficiency when determining algorithm; doesn't detect class again + Fixed ExtDes + Added create_hasher() and make_hash() Added src/hashpw/contrib/tback.py for mysql_hash_password() (used by OldPassword) README.md: + Added "Supported algorithms" section + Added bugs list .gitignore: Fixed Added tests/unit/ Added LICENSE, MANIFEST.in, Makefile, requirements_dev.txt, tox.ini
Converted hashpw to setuptools Original: http://al.id.au/svn/tools/misc/hashpw Note that this is a bare-minimum effort and doesn't yet support algorithms that use external dependencies.
Converted hashpw to setuptools Original: http://al.id.au/svn/tools/misc/hashpw Note that this is a bare-minimum effort and doesn't yet support algorithms that use external dependencies.