NumberTheory와 관계가 있는내용인지는 모르겠지만서도, 주민등록번호에는 어떤 원리들이 숨어있을까. 우리나라 주민번호는 6자리-7자리 로 이루어져있다. {{{#!latex $$ y_1 y_2 m_1 m_2 d_1 d_2 - s l_1 l_2 l_3 l_4 n k $$ }}} * y,m,d 는 생년월일의미 * s 는 성별을 의미 : 1 남, 2 여 (2000년 이후는 3 남, 4 여) * l 출생지역 (출생신고를 한 지역) * n 앞 숫자들이 모두 같을 때 하나씩 증가. 기본 1 * k 는 유효한 번호인지 확인하는 수 (보통 웹에서 사용자인증에 많이 사용됨. 본 정보의 악용이 우려되나, 최근 WebProgramming에서 예제로 너무 많이 등장하는 관계로, 거의 다 알고있슴) == 인증방법 (k계산법) == {{{#!latex $$ k = 11 - ((2y_1 + 3y_2 + 4m_1 + 5m_2 + 6d_1 + 7d_2 + 8s + 9l_1 + 2l_2 + 3l_3 + 4l_4 + n) \bmod 11) $$ }}} 보통의 웹에서는 위 식을 이용해서 k값이 맞는가를 확인한다. 왜 하필 11로 나눠주고, 11에서 빼는건지, 알고싶다. 관련 JavaScript : [ResidentRegistrationNumber.js] <> {{{#!html
주민등록번호입력
}}} == 참고사항 == 허위 주민번호사용은 [[http://networker.jinbo.net/columns/2k0901.html|법적제재]]를 받을 수도 있다. Python테스트 : [ResidentRegistrationNumber.py] 정보통신부 [[http://www.icec.or.kr:8080/front/discuss/teenage0414.htm|고시]]에 의거 청소년유해내용은 [PICS]에 의한 전자적표시 및 JavaScript가 아닌 공신력있는기관으로 부터의 성인인증이 필요하다.