summaryrefslogtreecommitdiff
path: root/passlib/tests
diff options
context:
space:
mode:
authorEli Collins <elic@assurancetechnologies.com>2012-03-10 16:54:15 -0500
committerEli Collins <elic@assurancetechnologies.com>2012-03-10 16:54:15 -0500
commitb5c69a10a71fd8f3c0ace6ec5051635b1e4bbe25 (patch)
tree33ef6883cd2ca29f8765341fe4f72814302dc9de /passlib/tests
parent929d2168c5119c4b9b401e0ece4a39bf8b944b08 (diff)
downloadpasslib-b5c69a10a71fd8f3c0ace6ec5051635b1e4bbe25.tar.gz
added support for lmhash
Diffstat (limited to 'passlib/tests')
-rw-r--r--passlib/tests/test_handlers.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/passlib/tests/test_handlers.py b/passlib/tests/test_handlers.py
index 1276fb7..732da34 100644
--- a/passlib/tests/test_handlers.py
+++ b/passlib/tests/test_handlers.py
@@ -869,6 +869,44 @@ class ldap_pbkdf2_test(TestCase):
)
#=========================================================
+# lanman
+#=========================================================
+class lmhash_test(HandlerCase):
+ handler = hash.lmhash
+ secret_size = 14
+ secret_case_insensitive = True
+
+ known_correct_hashes = [
+ #
+ # custom
+ #
+ ('', 'aad3b435b51404eeaad3b435b51404ee'),
+ ('zzZZZzz', 'a5e6066de61c3e35aad3b435b51404ee'),
+ ('passphrase', '855c3697d9979e78ac404c4ba2c66533'),
+ ('Yokohama', '5ecd9236d21095ce7584248b8d2c9f9e'),
+
+ # ensures cp437 used for unicode
+ (u('ENCYCLOP\xC6DIA'), 'fed6416bffc9750d48462b9d7aaac065'),
+ (u('encyclop\xE6dia'), 'fed6416bffc9750d48462b9d7aaac065'),
+ ]
+
+ # TODO: test encoding keyword.
+
+ known_unidentified_hashes = [
+ # bad char in otherwise correct hash
+ '855c3697d9979e78ac404c4ba2c6653X',
+ ]
+
+ # override default list since lmhash uses cp437 as default encoding
+ stock_passwords = [
+ u("test"),
+ b("test"),
+ u("\u00AC\u00BA"),
+ ]
+
+ fuzz_password_alphabet = u('qwerty1234<>.@*#! \u00AC')
+
+#=========================================================
#md5 crypt
#=========================================================
class _md5_crypt_test(HandlerCase):