Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 비밀번호 유효성 검사

<시간/>

합리적으로 복잡한 암호를 갖는 것은 일반적인 요구 사항입니다. 이 기사에서는 주어진 암호가 특정 수준의 복잡성을 충족하는지 확인하는 방법을 볼 것입니다. 이를 위해 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