functions.check_password_health

 1import streamlit as st
 2
 3
 4class PasswordValidator:
 5    """
 6    Realiza a análise da validade e força de senhas.
 7    """
 8    @staticmethod
 9    def check_password_validity(password):
10        """
11        Verifica se a senha informada é uma cadeia de caracteres.
12
13        Parameters
14        ----------
15        password
16            A senha a ser validada.
17
18        Returns
19        -------
20        isinstance() : bool
21            Retorna se a senha é ou não uma cadeia de caracteres.
22        """
23        return isinstance(password, str)
24
25    @staticmethod
26    def check_password_length(password):
27        """
28        Analisa o tamanho  da senha.
29
30        Parameters
31        ----------
32        password
33            A senha a ser analisada.
34
35        Returns
36        -------
37        str
38            O tamanho da senha (LOW, MEDIUM, STRONG).
39        """
40        length = len(password)
41        if length < 8:
42            return "LOW"
43        elif 8 <= length <= 16:
44            return "MEDIUM"
45        else:
46            return "STRONG"
47
48    @staticmethod
49    def check_password_strength(password):
50        """
51        Analisa a força da senha.
52
53        Parameters
54        ----------
55        password
56            A senha a ser analisada.
57
58        Returns
59        -------
60        str
61            A força da senha (Muito Fraca, Fraca, Média, Forte, Muito Forte).
62        """
63        if not PasswordValidator.check_password_validity(password):
64            return "A senha deve ser composta de caracteres."
65
66        length_rating = PasswordValidator.check_password_length(password)
67
68        has_upper = any(c.isupper() for c in password)
69        has_lower = any(c.islower() for c in password)
70        has_digit = any(c.isdigit() for c in password)
71        has_special = any(not c.isalnum() for c in password)
72
73        score = sum([has_upper, has_lower, has_digit, has_special])
74
75        if length_rating == "LOW":
76            return "Muito Fraca" if score < 2 else "Fraca"
77        elif length_rating == "MEDIUM":
78            return "Média" if score < 3 else "Forte"
79        elif length_rating == "STRONG":
80            return "Forte" if score < 4 else "Muito Forte"
81
82        return "Senha inválida."
class PasswordValidator:
 5class PasswordValidator:
 6    """
 7    Realiza a análise da validade e força de senhas.
 8    """
 9    @staticmethod
10    def check_password_validity(password):
11        """
12        Verifica se a senha informada é uma cadeia de caracteres.
13
14        Parameters
15        ----------
16        password
17            A senha a ser validada.
18
19        Returns
20        -------
21        isinstance() : bool
22            Retorna se a senha é ou não uma cadeia de caracteres.
23        """
24        return isinstance(password, str)
25
26    @staticmethod
27    def check_password_length(password):
28        """
29        Analisa o tamanho  da senha.
30
31        Parameters
32        ----------
33        password
34            A senha a ser analisada.
35
36        Returns
37        -------
38        str
39            O tamanho da senha (LOW, MEDIUM, STRONG).
40        """
41        length = len(password)
42        if length < 8:
43            return "LOW"
44        elif 8 <= length <= 16:
45            return "MEDIUM"
46        else:
47            return "STRONG"
48
49    @staticmethod
50    def check_password_strength(password):
51        """
52        Analisa a força da senha.
53
54        Parameters
55        ----------
56        password
57            A senha a ser analisada.
58
59        Returns
60        -------
61        str
62            A força da senha (Muito Fraca, Fraca, Média, Forte, Muito Forte).
63        """
64        if not PasswordValidator.check_password_validity(password):
65            return "A senha deve ser composta de caracteres."
66
67        length_rating = PasswordValidator.check_password_length(password)
68
69        has_upper = any(c.isupper() for c in password)
70        has_lower = any(c.islower() for c in password)
71        has_digit = any(c.isdigit() for c in password)
72        has_special = any(not c.isalnum() for c in password)
73
74        score = sum([has_upper, has_lower, has_digit, has_special])
75
76        if length_rating == "LOW":
77            return "Muito Fraca" if score < 2 else "Fraca"
78        elif length_rating == "MEDIUM":
79            return "Média" if score < 3 else "Forte"
80        elif length_rating == "STRONG":
81            return "Forte" if score < 4 else "Muito Forte"
82
83        return "Senha inválida."

Realiza a análise da validade e força de senhas.

@staticmethod
def check_password_validity(password):
 9    @staticmethod
10    def check_password_validity(password):
11        """
12        Verifica se a senha informada é uma cadeia de caracteres.
13
14        Parameters
15        ----------
16        password
17            A senha a ser validada.
18
19        Returns
20        -------
21        isinstance() : bool
22            Retorna se a senha é ou não uma cadeia de caracteres.
23        """
24        return isinstance(password, str)

Verifica se a senha informada é uma cadeia de caracteres.

Parameters
  • password: A senha a ser validada.
Returns
  • isinstance() (bool): Retorna se a senha é ou não uma cadeia de caracteres.
@staticmethod
def check_password_length(password):
26    @staticmethod
27    def check_password_length(password):
28        """
29        Analisa o tamanho  da senha.
30
31        Parameters
32        ----------
33        password
34            A senha a ser analisada.
35
36        Returns
37        -------
38        str
39            O tamanho da senha (LOW, MEDIUM, STRONG).
40        """
41        length = len(password)
42        if length < 8:
43            return "LOW"
44        elif 8 <= length <= 16:
45            return "MEDIUM"
46        else:
47            return "STRONG"

Analisa o tamanho da senha.

Parameters
  • password: A senha a ser analisada.
Returns
  • str: O tamanho da senha (LOW, MEDIUM, STRONG).
@staticmethod
def check_password_strength(password):
49    @staticmethod
50    def check_password_strength(password):
51        """
52        Analisa a força da senha.
53
54        Parameters
55        ----------
56        password
57            A senha a ser analisada.
58
59        Returns
60        -------
61        str
62            A força da senha (Muito Fraca, Fraca, Média, Forte, Muito Forte).
63        """
64        if not PasswordValidator.check_password_validity(password):
65            return "A senha deve ser composta de caracteres."
66
67        length_rating = PasswordValidator.check_password_length(password)
68
69        has_upper = any(c.isupper() for c in password)
70        has_lower = any(c.islower() for c in password)
71        has_digit = any(c.isdigit() for c in password)
72        has_special = any(not c.isalnum() for c in password)
73
74        score = sum([has_upper, has_lower, has_digit, has_special])
75
76        if length_rating == "LOW":
77            return "Muito Fraca" if score < 2 else "Fraca"
78        elif length_rating == "MEDIUM":
79            return "Média" if score < 3 else "Forte"
80        elif length_rating == "STRONG":
81            return "Forte" if score < 4 else "Muito Forte"
82
83        return "Senha inválida."

Analisa a força da senha.

Parameters
  • password: A senha a ser analisada.
Returns
  • str: A força da senha (Muito Fraca, Fraca, Média, Forte, Muito Forte).