PassLib provides cross-platform implementations of over 20 password hashing algorithms.
Can be used for:
- Quick-start password hashing for new python applications.
- Constructing a configurable hashing policy to match the needs of any python application.
- Reading & writing Apache htpasswd / htdigest files.
- Creating & verifying hashes used by MySQL, PostgreSQL, OpenLDAP, and other applications.
- Creating & verifying hashes found in Unix “shadow” files.
PassLib can be used with Python 2 and above. The library is also OS independent.
Features:
- Archaic Unix Schemes:
- DES Crypt
- BSDi Crypt
- BigCrypt
- Crypt16
- Standard Unix Schemes:
- MD5 Crypt
- BCrypt
- SHA-1 Crypt
- Sun MD5 Crypt
- SHA-256 Crypt
- SHA-512 Crypt
- Other Modular Crypt Schemes:
- Apache's MD5-Crypt variant
- PHPass' Portable Hash
- Windows NT-HASH for Unix
- Generic PBKDF2 Hashes
- Cryptacular's PBKDF2 hash
- Dwayne Litzenberger's PBKDF2 hash
- Standard LDAP Schemes:
- MD5 digest
- SHA1 digest
- Salted MD5 digest
- Salted SHA1 digest
- LDAP crypt() Wrappers
- LDAP-Aware Plaintext Handler
- Non-Standard LDAP Schemes:
- Hex-encoded MD5 Digest
- Hex-encoded SHA1 Digest
- Generic PBKDF2 Hashes
- Atlassian's PBKDF2-based Hash
- Fairly Secure Hashed Password
- Roundup-specific LDAP Plaintext Handler
- Database Hashes:
- MySQL 3.2.3 password hash
- MySQL 4.1 password hash
- PostgreSQL MD5 password hash
- Oracle 10g password hash
- Oracle 11g password hash
- Other Hashes:
- Django-specific Hashes
- Grub's PBKDF2 Hash
- Generic Hexdecimal Digests
- Plaintext
What is new in this release:
- Re-tuned the default_rounds values for all of the hashes.
- Added the new bcrypt_sha256 hash, which wraps BCrypt using SHA256 in order to work around BCrypt's password size limitations.
- passlib.hash.bcrypt: Added support for the bcrypt library as one of the possible bcrypt backends that will be used if available.
What is new in version 1.6.1:
- FreeBSD 8.3 added native support for sha256_crypt - updated Passlib's unittests and documentation accordingly.
- Fixed bug which caused passlib.apache unittest to fail if mtime resolution >= 1 second.
- Various bugfixes for Python 3.3 compatibility.
- Various documentation updates and corrections.
What is new in version 1.6:
- The release adds support for a number of new hash algorithms.
What is new in version 1.5.3:
- BCrypt hashes generated by Passlib now have all padding bits cleared.
- Passlib will continue to accept BCrypt hashes that have padding bits set, but when it encounters them, it will issue a UserWarning recommending that the hash should be fixed.
- Applications which use CryptContext.verify_and_update() will have any such hashes automatically re-encoded the next time the user logs in.
What is new in version 1.5.2:
- Minor bugfix release - mainly Django-related fixes.
What is new in version 1.5.1:
- Minor bugfix release; now compatible with Google App Engine.
What is new in version 1.5:
- The main new feature in this release is that Passlib now supports Python 3 (via the 2to3 tool).
- Everything has been recoded to have better separation between Unicode and bytes, and to use Unicode internally where possible.
- When run under Python 2, Passlib 1.5 attempts to provide the same behavior as Passlib 1.4; but when run under Python 3, most functions will return Unicode instead of ASCII bytes.
Comments not found