summaryrefslogtreecommitdiff
path: root/passlib/handlers/scrypt.py
diff options
context:
space:
mode:
Diffstat (limited to 'passlib/handlers/scrypt.py')
-rw-r--r--passlib/handlers/scrypt.py23
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