Programa Python para comprobar la validez de una contraseña

En este programa, tomaremos una contraseña como una combinación de caracteres alfanuméricos junto con caracteres especiales y verificaremos si la contraseña es válida o no con la ayuda de algunas condiciones.

Condiciones principales para la validación de contraseña:

  1. Mínimo 8 caracteres.
  2. El alfabeto debe estar entre [az]
  3. Al menos un alfabeto debe estar en mayúsculas [AZ]
  4. Al menos 1 número o dígito entre [0-9].
  5. Al menos 1 carácter de [ _ o @ o $].

Ejemplos:

Input : R@m@_f0rtu9e$
Output : Valid Password

Input : Rama_fortune$
Output : Invalid Password
Explanation: Number is missing

Input : Rama#fortu9e 
Output : Invalid Password
Explanation: Must consist from _ or @ or $

Forma 1: 

Aquí hemos utilizado el módulo re que proporciona soporte para expresiones regulares en Python . Junto con esto, el método re.search() devuelve False (si el primer parámetro no se encuentra en el segundo parámetro). Este método es más adecuado para probar una expresión regular que para extraer datos. Hemos utilizado re.search() para verificar la validación de alfabetos, dígitos o caracteres especiales. Para comprobar si hay espacios en blanco usamos el «\s» que viene en el módulo de la expresión regular. 

Python3

# Python program to check validation of password
# Module of regular expression is used with search()
import re
password = "
R@m@_f0rtu9e$& quot
flag = 0
while True:
    if (len(password) & lt
            8):
        flag = -1
        break
    elif not re.search(& quot
                        [a-z]"                        , password):
        flag = -1
        break
    elif not re.search(& quot
                        [A-Z]"                        , password):
        flag = -1
        break
    elif not re.search(& quot
                        [0-9]"                        , password):
        flag = -1
        break
    elif not re.search(& quot
                        [_@$]"                        , password):
        flag = -1
        break
    elif re.search(& quot
                    \s"                    , password):
        flag = -1
        break
    else:
        flag = 0
        print(& quot
               Valid Password & quot
               )
        break
 
if flag == -1:
    print(& quot
           Not a Valid Password & quot
           )

Forma 2: 

Python3

l, u, p, d = 0, 0, 0, 0
s = "R@m@_f0rtu9e$"
if (len(s) >= 8):
    for i in s:
 
        # counting lowercase alphabets
        if (i.islower()):
            l+=1           
 
        # counting uppercase alphabets
        if (i.isupper()):
            u+=1           
 
        # counting digits
        if (i.isdigit()):
            d+=1           
 
        # counting the mentioned special characters
        if(i=='@'or i=='$' or i=='_'):
            p+=1          
if (l>=1 and u>=1 and p>=1 and d>=1 and l+p+u+d==len(s)):
    print("Valid Password")
else:
    print("Invalid Password")

Forma 3: sin utilizar ningún método integrado

Python3

l, u, p, d = 0, 0, 0, 0
s = "R@m@_f0rtu9e$"
capitalalphabets="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
smallalphabets="abcdefghijklmnopqrstuvwxyz"
specialchar="$@_"
digits="0123456789"
if (len(s) >= 8):
    for i in s:
 
        # counting lowercase alphabets
        if (i in smallalphabets):
            l+=1           
 
        # counting uppercase alphabets
        if (i in capitalalphabets):
            u+=1           
 
        # counting digits
        if (i in digits):
            d+=1           
 
        # counting the mentioned special characters
        if(i in specialchar):
            p+=1       
if (l>=1 and u>=1 and p>=1 and d>=1 and l+p+u+d==len(s)):
    print("Valid Password")
else:
    print("Invalid Password")
Producción

Valid Password

Publicación traducida automáticamente

Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *