Python program to check the validity of a Password
In this program, we will be taking a password as a combination of alphanumeric characters along with special characters, and checking whether the password is valid or not with the help of a few conditions.
Primary conditions for password validation:
- Minimum 8 characters.
- The alphabet must be between [a-z]
- At least one alphabet should be of Upper Case [A-Z]
- At least 1 number or digit between [0-9].
- At least 1 character from [ _ or @ or $ ].
Examples:
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 $
Way 1:
Here we have used the re module that provides support for regular expressions in Python. Along with this the re.search() method returns False (if the first parameter is not found in the second parameter) This method is best suited for testing a regular expression more than extracting data. We have used the re.search() to check the validation of alphabets, digits, or special characters. To check for white spaces we use the “\s” which comes in the module of the regular expression.
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 ) |
Way 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") |
Way 3: Without using any built-in method
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" ) |
Valid Password