자바 정규식을 활용한 패스워드 정책설정 예제
·
JVM/Java
🎯 Goal 자바에서 기본적으로 제공하는 util 을 사용해서 비밀번호에 흔히 쓰이는 영문 + 숫자 + 특수문자 조합 정규식을 작성해본다. (커닝페이퍼로 가져다 쓰세요!) 1. 정규식을 통한 패턴 지정 String passwordPolicy = "((?=.*[a-z])(?=.*[0-9])(?=.*[^a-zA-Z0-9]).{8,})"; //소문자, 0~9 숫자, 특수문자 8자리 이상! 2. 패스워드 패턴화 import java.util.regex.Matcher; import java.util.regex.Pattern; Pattern pattern_pwd = Pattern.compile(passwordPolicy); Matcher matcher_pwd = pattern_pwd.matcher(userPassw..
비밀번호에 영문+숫자+특수문자를 조합하는 이유 (2)
·
기타/잡동사니
우선 다음과 같은 가상의 비밀번호 3개를 만들어 봤습니다. ① 영문+숫자로 된 6자리 비밀번호 = Atomic ② 영문+숫자+특수문자로 된 5자리 비밀번호 = C4$b5 ③ 영문+숫자+특수문자로 된 11자리 비밀번호 = dnjsWK$3fir 여기서는 컴퓨터가 무작위로 비밀번호를 만들어 로그인을 시도할 때, 1회 시도에 0.01초가 걸린다고 가정할게요. 첫째 자리에 들어올 수 있는 경우의 수는 70개 정도예요. 즉 한 자리로 된 비밀번호는 0.7초 만에 들키는 거예요. 어떻게 70개가 나왔냐고요? 영문은 A부터 z까지 26개의 문자로 이뤄져 있어요. 대소문자를 구분하면 총 52개지요. 숫자는 0부터 9까지 10개입니다. 특수문자는 적으면 5개, 많으면 20개 이상도 사용할 수 있지만 여기서는 8개로 가정했..