Loading django/contrib/auth/hashers.py +1 −0 Original line number Diff line number Diff line Loading @@ -602,6 +602,7 @@ class CryptPasswordHasher(BasePasswordHasher): crypt = self._load_library() assert len(salt) == 2 data = crypt.crypt(force_str(password), salt) assert data is not None # A platform like OpenBSD with a dummy crypt module. # we don't need to store the salt, but Django used to do this return "%s$%s$%s" % (self.algorithm, '', data) Loading tests/auth_tests/test_hashers.py +4 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,10 @@ try: import crypt except ImportError: crypt = None else: # On some platforms (e.g. OpenBSD), crypt.crypt() always return None. if crypt.crypt('', '') is None: crypt = None try: import bcrypt Loading Loading
django/contrib/auth/hashers.py +1 −0 Original line number Diff line number Diff line Loading @@ -602,6 +602,7 @@ class CryptPasswordHasher(BasePasswordHasher): crypt = self._load_library() assert len(salt) == 2 data = crypt.crypt(force_str(password), salt) assert data is not None # A platform like OpenBSD with a dummy crypt module. # we don't need to store the salt, but Django used to do this return "%s$%s$%s" % (self.algorithm, '', data) Loading
tests/auth_tests/test_hashers.py +4 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,10 @@ try: import crypt except ImportError: crypt = None else: # On some platforms (e.g. OpenBSD), crypt.crypt() always return None. if crypt.crypt('', '') is None: crypt = None try: import bcrypt Loading