LDAP-compatible password hashers
Bases: sentry.hashers.BaseHasher
>>> h = LDAPClearHasher()
>>> h("hello", "hello")
True
>>> h("hello", "world")
False
>>> h("world", "world")
True
Bases: sentry.hashers.BaseHasher
>>> h = LDAPCryptHasher()
>>> h("{CRYPT}1GmAXTdQYrcNM", "hello")
True
>>> h("{CRYPT}xsuUIXqcz71Vg", "hello")
False
>>> h("{CRYPT}xsuUIXqcz71Vg", "world")
True
Bases: sentry.hashers.BaseHasher Picks an appropriate LDAP hasher based on the password.
>>> h = LDAPHasher()
>>> h("{SSHA}CuT4gt9tHkar0jWopoPHAnxBC04UuQ8J", "hello")
True
>>> h("{SHA}qvTGHdzF6KLavt4PO0gs2a6pQ00=", "hello")
True
>>> h("{SMD5}mHt0zAE/iohp3JWCqvSdkE6TCYg=", "hello")
True
>>> h("{MD5}XUFAKrxLKna5cZ2REBfFkg==", "hello")
True
>>> h("{CRYPT}zPXL4mJy7IrrM", "hello")
True
>>> h("hello", "hello")
True
Bases: sentry.hashers.BaseHasher
>>> h = LDAPMD5Hasher()
>>> h("{MD5}XUFAKrxLKna5cZ2REBfFkg==", "hello")
True
>>> h("{MD5}fXkwN6B2AYZXSwKC8vQ15w==", "hello")
False
>>> h("{MD5}fXkwN6B2AYZXSwKC8vQ15w==", "world")
True
>>> h = LDAPMD5Hasher()
>>> h.hsh("hello")
'{MD5}XUFAKrxLKna5cZ2REBfFkg=='
Bases: sentry.hashers.BaseHasher
>>> h = LDAPSHAHasher()
>>> h("{SHA}qvTGHdzF6KLavt4PO0gs2a6pQ00=", "hello")
True
>>> h("{SHA}fCEUM/AgcVl3Qeb/Wo6jR4mrv0M=", "hello")
False
>>> h("{SHA}fCEUM/AgcVl3Qeb/Wo6jR4mrv0M=", "world")
True
>>> h = LDAPSHAHasher()
>>> h.hsh("hello")
'{SHA}qvTGHdzF6KLavt4PO0gs2a6pQ00='
Bases: sentry.hashers.BaseHasher
>>> h = LDAPSMD5Hasher()
>>> h("{SMD5}mHt0zAE/iohp3JWCqvSdkE6TCYg=", "hello")
True
>>> h("{SMD5}mBgarfiNeDNrwAiHEgCukdR/p8g=", "hello")
False
>>> h("{SMD5}mBgarfiNeDNrwAiHEgCukdR/p8g=", "world")
True
>>> h = LDAPSMD5Hasher()
>>> h.hsh("hello", 'N\x93\t\x88')
'{SMD5}mHt0zAE/iohp3JWCqvSdkE6TCYg='
Bases: sentry.hashers.BaseHasher
>>> h = LDAPSSHAHasher()
>>> h("{SSHA}CuT4gt9tHkar0jWopoPHAnxBC04UuQ8J", "hello")
True
>>> h("{SSHA}alezzDJHy5Hwyz/v0W4IPIFjAQZ90B1d", "hello")
False
>>> h = LDAPSSHAHasher()
>>> h.hsh("hello", '#2\xa1I')
'{SSHA}pbe18/fKwd1PjtQMMkiSErcSpLQjMqFJ'