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).