이 글에서는 정규식을 사용하여 비밀번호의 강도를 확인하는 예제 코드를 공유합니다. 이 코드는 매우 유용하며 참조할 가치가 있습니다. 이 코드가 필요한 친구는 이를 참조할 수 있습니다.
python에 대해 알아보세요. 이론을 좋아하는 사람은 없지만, 실천에 사람의 마음이 있으니, 이론을 직접 실천해서 다듬어야 합니다. 관행. 더 이상 고민하지 말고 코드부터 시작하겠습니다
def password_level(password): weak = re.compile(r'^((\d+)|([A-Za-z]+)|(\W+))$') level_weak = weak.match(password) level_middle = re.match(r'([0-9]+(\W+|\_+|[A-Za-z]+))+|([A-Za-z]+(\W+|\_+|\d+))+|((\W+|\_+)+(\d+|\w+))+',password) level_strong = re.match(r'(\w+|\W+)+',password) if level_weak: print 'password level is weak',level_weak.group() else: if (level_middle and len(level_middle.group())==len(password)): print 'password level is middle',level_middle.group() else: if level_strong and len(level_strong.group())==len(password): print 'password level is strong',level_strong.group()
약한 비밀번호: 모든 숫자, 기호, 문자
중간 비밀번호: 숫자 + 기호, 숫자 + 문자, 문자 + 기호
강력한 비밀번호 : Three 혼합.
저는 대소문자를 구분하지 않습니다. 관심 있는 분들이 직접 작성해 보시길 바랍니다. w는 [A-Za-z0-9_]와 동일하기 때문에 문제가 발생하므로 초기 단계에서 W는 밑줄
을 포함하는 문자열과 일치할 수 없습니다. 기호나 문자 또는 _는 그룹입니다. 문자와 기호 또는 밑줄이나 기호는 그룹입니다. 기호나 밑줄과 문자나 숫자는 항상 여기에 있는 코드가 잘못되었다고 생각하지만 잘못된 점은 발견하지 못했습니다. 테스트를 통해 먼저 0.0.1 버전을 사용해 보도록 하겠습니다
코드 테스트
if name == 'main': passwords = ('11','aa','LL','1a','1_','a_','a1','_1','*a','1a_','1a<') for pw in passwords: password_level(pw) '''----------------------output------------------------ #password level is weak 11 #password level is weak aa #password level is weak LL #password level is middle 1a #password level is middle 1_ #password level is middle a_ #password level is middle a1 #password level is middle _1 #password level is middle *a #password level is strong 1a_ #password level is strong 1a< '''
위 내용은 정규식을 사용하여 비밀번호의 강도를 확인하는 예를 공유하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!