From 57de2c08b225b17e67b471f0ce06ce4ee6394b86 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Sat, 14 Jun 2025 18:39:30 +0200 Subject: [PATCH] Removed crypt password hasher. --- modoboa/core/password_hashers/__init__.py | 1 - modoboa/core/password_hashers/base.py | 26 +---------------------- 2 files changed, 1 insertion(+), 26 deletions(-) diff --git a/modoboa/core/password_hashers/__init__.py b/modoboa/core/password_hashers/__init__.py index b5c1ce167..590f25eef 100644 --- a/modoboa/core/password_hashers/__init__.py +++ b/modoboa/core/password_hashers/__init__.py @@ -9,7 +9,6 @@ from modoboa.core.password_hashers.advanced import ( # NOQA:F401 SSHAHasher, ) from modoboa.core.password_hashers.base import ( # NOQA:F401 - CRYPTHasher, MD5Hasher, PLAINHasher, SHA256Hasher, diff --git a/modoboa/core/password_hashers/base.py b/modoboa/core/password_hashers/base.py index 76314dfa4..dcba941df 100644 --- a/modoboa/core/password_hashers/base.py +++ b/modoboa/core/password_hashers/base.py @@ -5,11 +5,7 @@ Contains weak hashers (the original ones) available with Modoboa. """ import base64 - -import crypt import hashlib -from random import Random -import string from typing import Optional from django.utils.crypto import constant_time_compare @@ -53,7 +49,7 @@ class PasswordHasher(metaclass=MetaHasher): def __init__(self, target="local"): self._target = target - def _encrypt(self, clearvalue: str, salt: Optional[str] = None) -> str: + def _encrypt(self, clearvalue: str, salt: Optional[str] = None) -> str: # NOQA raise NotImplementedError def _b64encode(self, pwhash): @@ -129,26 +125,6 @@ class PLAINHasher(PasswordHasher): return clearvalue -class CRYPTHasher(PasswordHasher): - """ - crypt password hasher. - - Uses python `crypt` standard module. - """ - - _weak = True - deprecated = True - - @property - def scheme(self): - return "{CRYPT}" - - def _encrypt(self, clearvalue: str, salt: Optional[str] = None) -> str: - if salt is None: - salt = "".join(Random().sample(string.ascii_letters + string.digits, 2)) - return crypt.crypt(clearvalue, salt) - - class MD5Hasher(PasswordHasher): """ MD5 password hasher.