합리적으로 복잡한 암호를 갖는 것은 일반적인 요구 사항입니다. 이 기사에서는 주어진 암호가 특정 수준의 복잡성을 충족하는지 확인하는 방법을 볼 것입니다. 이를 위해 re.
로 알려진 정규식 모듈을 사용합니다.예시 -1
먼저 유효한 암호라고 하는 데 필요한 조건을 충족할 수 있는 정규식을 만듭니다. 그런 다음 re의 검색 기능을 사용하여 주어진 암호를 필요한 조건과 일치시킵니다. 아래 예에서 복잡성 요구 사항은 하나 이상의 대문자, 하나의 숫자 및 하나의 특수 문자가 필요하다는 것입니다. 또한 비밀번호의 길이는 8에서 18 사이여야 합니다.
예시
import re pswd = 'XdsE83&!' reg = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!#%*?&]{8,18}$" # compiling regex match_re = re.compile(reg) # searching regex res = re.search(match_re, pswd) # validating conditions if res: print("Valid Password") else: print("Invalid Password")
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Valid Password
예시 -2
이 예에서는 모든 필수 조건을 충족하지 않는 암호를 사용합니다. 예를 들어 비밀번호에 숫자가 없습니다. 이 경우 프로그램은 이를 잘못된 암호로 표시합니다.
예시
import re pswd = 'XdsEfg&!' reg = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*#?& ])[A-Za-z\d@$!#%*?&]{8,18}$" # compiling regex match_re = re.compile(reg) # searching regex res = re.search(match_re, pswd) # validating conditions if res: print("Valid Password") else: print("Invalid Password")
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Invalid Password