diff options
Diffstat (limited to 'passlib/handlers/scrypt.py')
-rw-r--r-- | passlib/handlers/scrypt.py | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/passlib/handlers/scrypt.py b/passlib/handlers/scrypt.py index 1686fda..2d3d36b 100644 --- a/passlib/handlers/scrypt.py +++ b/passlib/handlers/scrypt.py @@ -2,7 +2,6 @@ #============================================================================= # imports #============================================================================= -from __future__ import with_statement, absolute_import # core import logging; log = logging.getLogger(__name__) # site @@ -10,7 +9,7 @@ import logging; log = logging.getLogger(__name__) from passlib.crypto import scrypt as _scrypt from passlib.utils import h64, to_bytes from passlib.utils.binary import h64, b64s_decode, b64s_encode -from passlib.utils.compat import u, bascii_to_str, suppress_cause +from passlib.utils.compat import bascii_to_str from passlib.utils.decor import classproperty import passlib.utils.handlers as uh # local @@ -22,10 +21,10 @@ __all__ = [ # scrypt format identifiers #============================================================================= -IDENT_SCRYPT = u("$scrypt$") # identifier used by passlib -IDENT_7 = u("$7$") # used by official scrypt spec +IDENT_SCRYPT = u"$scrypt$" # identifier used by passlib +IDENT_7 = u"$7$" # used by official scrypt spec -_UDOLLAR = u("$") +_UDOLLAR = u"$" #============================================================================= # handler @@ -154,9 +153,9 @@ class scrypt(uh.ParallelismMixin, uh.HasRounds, uh.HasRawSalt, uh.HasRawChecksum @classmethod def using(cls, block_size=None, **kwds): - subcls = super(scrypt, cls).using(**kwds) + subcls = super().using(**kwds) if block_size is not None: - if isinstance(block_size, uh.native_string_types): + if isinstance(block_size, str): block_size = int(block_size) subcls.block_size = subcls._norm_block_size(block_size, relaxed=kwds.get("relaxed")) @@ -164,7 +163,7 @@ class scrypt(uh.ParallelismMixin, uh.HasRounds, uh.HasRawSalt, uh.HasRawChecksum try: _scrypt.validate(1 << cls.default_rounds, cls.block_size, cls.parallelism) except ValueError as err: - raise suppress_cause(ValueError("scrypt: invalid settings combination: " + str(err))) + raise ValueError("scrypt: invalid settings combination: " + str(err)) from None return subcls @@ -288,7 +287,7 @@ class scrypt(uh.ParallelismMixin, uh.HasRounds, uh.HasRawSalt, uh.HasRawChecksum try: salt.decode("ascii") except UnicodeDecodeError: - raise suppress_cause(NotImplementedError("scrypt $7$ hashes dont support non-ascii salts")) + raise NotImplementedError("scrypt $7$ hashes dont support non-ascii salts") from None return bascii_to_str(b"".join([ b"$7$", h64.encode_int6(self.rounds), @@ -303,7 +302,7 @@ class scrypt(uh.ParallelismMixin, uh.HasRounds, uh.HasRawSalt, uh.HasRawChecksum # init #=================================================================== def __init__(self, block_size=None, **kwds): - super(scrypt, self).__init__(**kwds) + super().__init__(**kwds) # init block size if block_size is None: @@ -320,7 +319,7 @@ class scrypt(uh.ParallelismMixin, uh.HasRounds, uh.HasRawSalt, uh.HasRawChecksum return uh.norm_integer(cls, block_size, min=1, param="block_size", relaxed=relaxed) def _generate_salt(self): - salt = super(scrypt, self)._generate_salt() + salt = super()._generate_salt() if self.ident == IDENT_7: # this format doesn't support non-ascii salts. # as workaround, we take raw bytes, encoded to base64 @@ -372,7 +371,7 @@ class scrypt(uh.ParallelismMixin, uh.HasRounds, uh.HasRawSalt, uh.HasRawChecksum # XXX: for now, marking all hashes which don't have matching block_size setting if self.block_size != type(self).block_size: return True - return super(scrypt, self)._calc_needs_update(**kwds) + return super()._calc_needs_update(**kwds) #=================================================================== # eoc |