티스토리 뷰

728x90
반응형

 

 

정규표현식으로 특정 데이터가 개인정보인지 알아내는 방법입니다

 

데이터가 주민등록번호, 여권번호, 외국인등록번호 등등이 포함된 개인정보라면 보안에 힘써야겠죠

데이터가 개인정보인지 확인하고 처리하도록 합시다!

 

아래 파이썬코드에서

jumin은 주민등록번호 정규표현식이고, phone은 전화번호 정규표현식입니다.

re.match(정규표현식, 확인하고자하는값)을 통해서,

확인하고자하는 값과 정규표현식을 매칭시켜 특정 개인정보가 맞는지를 확인합니다.

 

b와 d는 각각 정규표현식이 매칭되었기 때문에 None으로 출력되지 않았음을 확인할 수 있습니다.

 

 

이런 방법으로 개인정보 정규표현식을 사용하면 됩니다!

아래는 개인정보 관련 정규표현식 리스트입니다.

 

 주민등록번호
(\d{6}[ ,-]-?[1-4]\d{6})|(\d{6}[ ,-]?[1-4])
여권번호
([a-zA-Z]{1}|[a-zA-Z]{2})\d{8}
외국인등록번호
([01][0-9]{5}[[:space:]~-]+[1-8][0-9]{6}|[2-9][0-9]{5}[[:space:]~-]+[1256][0-9]{6})
운전면허번호
(\d{2}-\d{2}-\d{6}-\d{2})
이름
^[가-힣]{2,3}$
도로명주소
(([가-힣A-Za-z·\d~\-\.]{2,}(로|길).[\d]+)|([가-힣A-Za-z·\d~\-\.]+(읍|동)\s)[\d]+)
지번주소
(([가-힣A-Za-z·\d~\-\.]+(읍|동)\s)[\d-]+)|(([가-힣A-Za-z·\d~\-\.]+(읍|동)\s)[\d][^시]+)
날짜(yyyy-mm-dd)
^([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))$
날짜(yyyymmdd)
^((19|20)\d{2})(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[0-1])
전화번호
(\d{2,3}[ ,-]-?\d{2,4}[ ,-]-?\d{4})
계좌번호
([0-9,\-]{3,6}\-[0-9,\-]{2,6}\-[0-9,\-])
건강보험번호
[1257][-~.[:space:]][0-9]{10}
신용카드번호
[34569][0-9]{3}[-~.[ ]][0-9]{4}[-~.[ ]][0-9]{4}[-~.[ ]][0-9]{4}
자동차번호1
^[가-힣]{2}\\d{2}[가-힣]{1}\\d{4}$
자동차번호2
^\\d{2}[가-힣]{1}\\d{4}$
URL
(http(s)?:\/\/)([a-z0-9\w]+\.*)+[a-z0-9]{2,4}
메일주소
(([\w!-_\.])*@([\w!-_\.])*\.[\w]{2,3})
IPv4주소
(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}
IPv6주소
(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
MAC주소
([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}
아이디
^[A-Za-z]{1}[A-Za-z0-9]{3,19}$
군번
^[0-9a-zA-Z]+([_0-9a-zA-Z]+)*$
사업자등록번호
^(\d{3,3})+[-]+(\d{2,2})+[-]+(\d{5,5})

 

728x90
반응형
댓글