mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-23 21:11:08 +00:00
Added check_strong_password.py (#4950)
* Added check_strong_password.py * Corrected Comment * Updated * Updated check_strong_password.py * Ran Pre-Commit
This commit is contained in:
parent
d32d0158a3
commit
c886a66d34
47
other/check_strong_password.py
Normal file
47
other/check_strong_password.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
# This Will Check Whether A Given Password Is Strong Or Not
|
||||
# It Follows The Rule that Length Of Password Should Be At Least 8 Characters
|
||||
# And At Least 1 Lower, 1 Upper, 1 Number And 1 Special Character
|
||||
|
||||
from string import ascii_lowercase, ascii_uppercase, digits, punctuation
|
||||
|
||||
|
||||
def strong_password_detector(password: str, min_length: int = 8) -> str:
|
||||
"""
|
||||
>>> strong_password_detector('Hwea7$2!')
|
||||
'This is a strong Password'
|
||||
|
||||
>>> strong_password_detector('Sh0r1')
|
||||
'Your Password must be at least 8 characters long'
|
||||
|
||||
>>> strong_password_detector('Hello123')
|
||||
'Password should contain UPPERCASE, lowercase, numbers, special characters'
|
||||
|
||||
>>> strong_password_detector('Hello1238udfhiaf038fajdvjjf!jaiuFhkqi1')
|
||||
'This is a strong Password'
|
||||
|
||||
>>> strong_password_detector(0)
|
||||
'Your Password must be at least 8 characters long'
|
||||
"""
|
||||
|
||||
if len(str(password)) < 8:
|
||||
return "Your Password must be at least 8 characters long"
|
||||
|
||||
upper = any(char in ascii_uppercase for char in password)
|
||||
lower = any(char in ascii_lowercase for char in password)
|
||||
num = any(char in digits for char in password)
|
||||
spec_char = any(char in punctuation for char in password)
|
||||
|
||||
if upper and lower and num and spec_char:
|
||||
return "This is a strong Password"
|
||||
|
||||
else:
|
||||
return (
|
||||
"Password should contain UPPERCASE, lowercase, "
|
||||
"numbers, special characters"
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import doctest
|
||||
|
||||
doctest.testmod()
|
Loading…
Reference in New Issue
Block a user