Advertisement
CODINGGIAN

Diagnostica Python

Nov 3rd, 2024
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. # Mensajes
  2. CONTRASEÑA_MUY_FUERTE = 'La contraseña que ingresaste es muy fuerte porque es larga, contiene letras mayúsculas y minúsculas, dígitos y caracteres especiales'
  3. CONTRASEÑA_FUERTE = 'La contraseña que ingresaste es fuerte porque es lo suficientemente larga, contiene letras mayúsculas o minúsculas o dígitos'
  4. CONTRASEÑA_DÉBIL = 'La contraseña que ingresaste es débil porque es demasiado corta'
  5. CONTRASEÑA_POPULAR = 'Parece que tu contraseña es una secuencia popular, tu contraseña no es única, por favor cámbiala'
  6.  
  7. contraseña = input("Ingresa la contraseña que deseas verificar")
  8. letrasMayusculas = 0
  9. letrasMinusculas = 0
  10. digitos = 0
  11. caracteresEspeciales = 0
  12. listaDeCaracteres = []
  13.  
  14. for caracter in contraseña:
  15. if caracter.isupper():
  16. letrasMayusculas += 1
  17. elif caracter.islower():
  18. letrasMinusculas += 1
  19. elif caracter.isdigit():
  20. digitos += 1
  21. else:
  22. caracteresEspeciales += 1
  23.  
  24. if caracter not in listaDeCaracteres:
  25. listaDeCaracteres.append(caracter)
  26.  
  27. print('###############Análisis de contraseña###############')
  28. print(f'Longitud de la contraseña: {str(len(contraseña))} \n'
  29. f'Número de letras mayúsculas: {str(letrasMayusculas)} \n'
  30. f'Número de letras minúsculas: {str(letrasMinusculas)} \n'
  31. f'Número de dígitos: {str(digitos)} \n'
  32. f'Número de caracteres especiales: {str(caracteresEspeciales)} \n'
  33. f'Número de caracteres únicos: {str(len(listaDeCaracteres))}')
  34.  
  35. porcentajeUnicos = len(listaDeCaracteres) * 100 / len(contraseña)
  36. esUnica = porcentajeUnicos >= 40
  37. if len(contraseña) >= 14 and esUnica and letrasMayusculas != 0 and letrasMinusculas != 0 and digitos != 0 and caracteresEspeciales != 0:
  38. print(CONTRASEÑA_MUY_FUERTE)
  39. elif len(contraseña) < 14 and len(contraseña) >= 8 and esUnica and letrasMayusculas != 0 and letrasMinusculas != 0 and digitos != 0:
  40. print(CONTRASEÑA_FUERTE)
  41. elif len(contraseña) < 8:
  42. print(CONTRASEÑA_DÉBIL)
  43. else:
  44. print(CONTRASEÑA_POPULAR)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement