summaryrefslogtreecommitdiff
path: root/passlib/handlers/ldap_digests.py
diff options
context:
space:
mode:
Diffstat (limited to 'passlib/handlers/ldap_digests.py')
-rw-r--r--passlib/handlers/ldap_digests.py37
1 files changed, 18 insertions, 19 deletions
diff --git a/passlib/handlers/ldap_digests.py b/passlib/handlers/ldap_digests.py
index 30254f0..f4d0c7e 100644
--- a/passlib/handlers/ldap_digests.py
+++ b/passlib/handlers/ldap_digests.py
@@ -12,7 +12,6 @@ import re
# pkg
from passlib.handlers.misc import plaintext
from passlib.utils import unix_crypt_schemes, to_unicode
-from passlib.utils.compat import uascii_to_str, unicode, u
from passlib.utils.decor import classproperty
import passlib.utils.handlers as uh
# local
@@ -53,7 +52,7 @@ class _Base64DigestHelper(uh.StaticHandler):
return cls.ident
def _calc_checksum(self, secret):
- if isinstance(secret, unicode):
+ if isinstance(secret, str):
secret = secret.encode("utf-8")
chk = self._hash_func(secret).digest()
return b64encode(chk).decode("ascii")
@@ -92,10 +91,10 @@ class _SaltedBase64DigestHelper(uh.HasRawSalt, uh.HasRawChecksum, uh.GenericHand
def to_string(self):
data = self.checksum + self.salt
hash = self.ident + b64encode(data).decode("ascii")
- return uascii_to_str(hash)
+ return hash
def _calc_checksum(self, secret):
- if isinstance(secret, unicode):
+ if isinstance(secret, str):
secret = secret.encode("utf-8")
return self._hash_func(secret + self.salt).digest()
@@ -108,9 +107,9 @@ class ldap_md5(_Base64DigestHelper):
The :meth:`~passlib.ifc.PasswordHash.hash` and :meth:`~passlib.ifc.PasswordHash.genconfig` methods have no optional keywords.
"""
name = "ldap_md5"
- ident = u("{MD5}")
+ ident = u"{MD5}"
_hash_func = md5
- _hash_regex = re.compile(u(r"^\{MD5\}(?P<chk>[+/a-zA-Z0-9]{22}==)$"))
+ _hash_regex = re.compile(r"^\{MD5\}(?P<chk>[+/a-zA-Z0-9]{22}==)$")
class ldap_sha1(_Base64DigestHelper):
"""This class stores passwords using LDAP's plain SHA1 format, and follows the :ref:`password-hash-api`.
@@ -118,9 +117,9 @@ class ldap_sha1(_Base64DigestHelper):
The :meth:`~passlib.ifc.PasswordHash.hash` and :meth:`~passlib.ifc.PasswordHash.genconfig` methods have no optional keywords.
"""
name = "ldap_sha1"
- ident = u("{SHA}")
+ ident = u"{SHA}"
_hash_func = sha1
- _hash_regex = re.compile(u(r"^\{SHA\}(?P<chk>[+/a-zA-Z0-9]{27}=)$"))
+ _hash_regex = re.compile(r"^\{SHA\}(?P<chk>[+/a-zA-Z0-9]{27}=)$")
class ldap_salted_md5(_SaltedBase64DigestHelper):
"""This class stores passwords using LDAP's salted MD5 format, and follows the :ref:`password-hash-api`.
@@ -156,10 +155,10 @@ class ldap_salted_md5(_SaltedBase64DigestHelper):
This format now supports variable length salts, instead of a fix 4 bytes.
"""
name = "ldap_salted_md5"
- ident = u("{SMD5}")
+ ident = u"{SMD5}"
checksum_size = 16
_hash_func = md5
- _hash_regex = re.compile(u(r"^\{SMD5\}(?P<tmp>[+/a-zA-Z0-9]{27,}={0,2})$"))
+ _hash_regex = re.compile(r"^\{SMD5\}(?P<tmp>[+/a-zA-Z0-9]{27,}={0,2})$")
class ldap_salted_sha1(_SaltedBase64DigestHelper):
"""
@@ -197,11 +196,11 @@ class ldap_salted_sha1(_SaltedBase64DigestHelper):
This format now supports variable length salts, instead of a fix 4 bytes.
"""
name = "ldap_salted_sha1"
- ident = u("{SSHA}")
+ ident = u"{SSHA}"
checksum_size = 20
_hash_func = sha1
# NOTE: 32 = ceil((20 + 4) * 4/3)
- _hash_regex = re.compile(u(r"^\{SSHA\}(?P<tmp>[+/a-zA-Z0-9]{32,}={0,2})$"))
+ _hash_regex = re.compile(r"^\{SSHA\}(?P<tmp>[+/a-zA-Z0-9]{32,}={0,2})$")
@@ -237,12 +236,12 @@ class ldap_salted_sha256(_SaltedBase64DigestHelper):
.. versionadded:: 1.7.3
"""
name = "ldap_salted_sha256"
- ident = u("{SSHA256}")
+ ident = u"{SSHA256}"
checksum_size = 32
default_salt_size = 8
_hash_func = sha256
# NOTE: 48 = ceil((32 + 4) * 4/3)
- _hash_regex = re.compile(u(r"^\{SSHA256\}(?P<tmp>[+/a-zA-Z0-9]{48,}={0,2})$"))
+ _hash_regex = re.compile(r"^\{SSHA256\}(?P<tmp>[+/a-zA-Z0-9]{48,}={0,2})$")
class ldap_salted_sha512(_SaltedBase64DigestHelper):
@@ -277,12 +276,12 @@ class ldap_salted_sha512(_SaltedBase64DigestHelper):
.. versionadded:: 1.7.3
"""
name = "ldap_salted_sha512"
- ident = u("{SSHA512}")
+ ident = u"{SSHA512}"
checksum_size = 64
default_salt_size = 8
_hash_func = sha512
# NOTE: 91 = ceil((64 + 4) * 4/3)
- _hash_regex = re.compile(u(r"^\{SSHA512\}(?P<tmp>[+/a-zA-Z0-9]{91,}={0,2})$"))
+ _hash_regex = re.compile(r"^\{SSHA512\}(?P<tmp>[+/a-zA-Z0-9]{91,}={0,2})$")
class ldap_plaintext(plaintext):
@@ -299,7 +298,7 @@ class ldap_plaintext(plaintext):
:param encoding:
This controls the character encoding to use (defaults to ``utf-8``).
- This encoding will be used to encode :class:`!unicode` passwords
+ This encoding will be used to encode :class:`!str` passwords
under Python 2, and decode :class:`!bytes` hashes under Python 3.
.. versionchanged:: 1.6
@@ -309,7 +308,7 @@ class ldap_plaintext(plaintext):
# is override identify()
name = "ldap_plaintext"
- _2307_pat = re.compile(u(r"^\{\w+\}.*$"))
+ _2307_pat = re.compile(r"^\{\w+\}.*$")
@uh.deprecated_method(deprecated="1.7", removed="2.0")
@classmethod
@@ -337,7 +336,7 @@ def _init_ldap_crypt_handlers():
g = globals()
for wname in unix_crypt_schemes:
name = 'ldap_' + wname
- g[name] = uh.PrefixWrapper(name, wname, prefix=u("{CRYPT}"), lazy=True)
+ g[name] = uh.PrefixWrapper(name, wname, prefix=u"{CRYPT}", lazy=True)
del g
_init_ldap_crypt_handlers()