NumberTheory와 관계가 있는내용인지는 모르겠지만서도, 주민등록번호에는 어떤 원리들이 숨어있을까.
우리나라 주민번호는 6자리-7자리 로 이루어져있다.
- y,m,d 는 생년월일의미
- s 는 성별을 의미 : 1 남, 2 여 (2000년 이후는 3 남, 4 여)
- l 출생지역 (출생신고를 한 지역)
- n 앞 숫자들이 모두 같을 때 하나씩 증가. 기본 1
k 는 유효한 번호인지 확인하는 수 (보통 웹에서 사용자인증에 많이 사용됨. 본 정보의 악용이 우려되나, 최근 WebProgramming에서 예제로 너무 많이 등장하는 관계로, 거의 다 알고있슴)
인증방법 (k계산법)
보통의 웹에서는 위 식을 이용해서 k값이 맞는가를 확인한다. 왜 하필 11로 나눠주고, 11에서 빼는건지, 알고싶다.
관련 JavaScript : [ResidentRegistrationNumber.js]
참고사항
허위 주민번호사용은 법적제재를 받을 수도 있다.
Python테스트 : [ResidentRegistrationNumber.py]
정보통신부 고시에 의거 청소년유해내용은 [PICS]에 의한 전자적표시 및 JavaScript가 아닌 공신력있는기관으로 부터의 성인인증이 필요하다.