Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Mensajes
- 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'
- 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'
- CONTRASEÑA_DÉBIL = 'La contraseña que ingresaste es débil porque es demasiado corta'
- CONTRASEÑA_POPULAR = 'Parece que tu contraseña es una secuencia popular, tu contraseña no es única, por favor cámbiala'
- contraseña = input("Ingresa la contraseña que deseas verificar")
- letrasMayusculas = 0
- letrasMinusculas = 0
- digitos = 0
- caracteresEspeciales = 0
- listaDeCaracteres = []
- for caracter in contraseña:
- if caracter.isupper():
- letrasMayusculas += 1
- elif caracter.islower():
- letrasMinusculas += 1
- elif caracter.isdigit():
- digitos += 1
- else:
- caracteresEspeciales += 1
- if caracter not in listaDeCaracteres:
- listaDeCaracteres.append(caracter)
- print('###############Análisis de contraseña###############')
- print(f'Longitud de la contraseña: {str(len(contraseña))} \n'
- f'Número de letras mayúsculas: {str(letrasMayusculas)} \n'
- f'Número de letras minúsculas: {str(letrasMinusculas)} \n'
- f'Número de dígitos: {str(digitos)} \n'
- f'Número de caracteres especiales: {str(caracteresEspeciales)} \n'
- f'Número de caracteres únicos: {str(len(listaDeCaracteres))}')
- porcentajeUnicos = len(listaDeCaracteres) * 100 / len(contraseña)
- esUnica = porcentajeUnicos >= 40
- if len(contraseña) >= 14 and esUnica and letrasMayusculas != 0 and letrasMinusculas != 0 and digitos != 0 and caracteresEspeciales != 0:
- print(CONTRASEÑA_MUY_FUERTE)
- elif len(contraseña) < 14 and len(contraseña) >= 8 and esUnica and letrasMayusculas != 0 and letrasMinusculas != 0 and digitos != 0:
- print(CONTRASEÑA_FUERTE)
- elif len(contraseña) < 8:
- print(CONTRASEÑA_DÉBIL)
- else:
- print(CONTRASEÑA_POPULAR)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement