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:
Snimerjot Singh 2021-10-20 11:05:41 +05:30 committed by GitHub
parent d32d0158a3
commit c886a66d34
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View 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()