주민등록번호 검증 원리
대한민국 주민등록번호는 13자리 숫자로 구성되며, 마지막 자리는 앞 12자리로부터 계산되는 체크섬(검증 숫자)입니다. 이 체크섬은 입력 오류를 자동으로 감지하기 위한 장치로, 무작위로 만든 13자리 숫자가 유효한 주민등록번호일 확률은 매우 낮습니다. 본 도구는 다음 알고리즘을 그대로 적용해 검증을 수행합니다.
체크섬 계산 공식
가중치 배열 W = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5] 를 각 자리수에 곱한 후 합산합니다. 그 합을 11로 나눈 나머지를 11에서 뺀 값을 다시 10으로 나눈 나머지가 바로 체크섬입니다. 이 값이 13번째 자리와 일치해야 유효합니다.
- 1~6번째 자리: 생년월일 (YYMMDD)
- 7번째 자리: 성별 및 출생 세기 구분 코드
- 8~9번째 자리: 출생 신고 지역 코드 (현재는 무의미한 일련번호로 대체됨)
- 10~12번째 자리: 신고 순서
- 13번째 자리: 체크섬
성별·세기 코드 (7번째 자리)
- 1: 1900년대 출생 남자 / 2: 1900년대 출생 여자
- 3: 2000년대 출생 남자 / 4: 2000년대 출생 여자
- 5·6: 1900년대 출생 외국인 / 7·8: 2000년대 출생 외국인
- 9·0: 1800년대 출생자 (현재는 거의 없음)
자주 묻는 질문 (FAQ)
Q. 입력한 번호가 서버로 전송되나요?
A. 절대 전송되지 않습니다. 이 페이지의 모든 검증 로직은 JavaScript로 작성되어 브라우저 안에서만 실행됩니다. 네트워크 요청을 보내지 않으며, 본 도구는 입력값을 localStorage에 저장하지 않도록 별도로 처리했습니다.
Q. 체크섬이 맞아도 실제 발급된 번호인가요?
A. 아닙니다. 체크섬 검증은 형식적인 유효성만 확인합니다. 실제 발급 여부와 본인 여부는 행정안전부의 본인확인 서비스로만 확인 가능합니다.
Q. 외국인등록번호도 검증되나요?
A. 네, 같은 체크섬 공식이 적용되므로 외국인등록번호(7번째 자리 5~8)도 동일하게 검증됩니다.
Q. 2020년 이후 발급된 새 주민등록번호는?
A. 2020년 10월부터 8~13번째 자리가 임의 번호로 발급되도록 변경되었지만, 13번째 체크섬 계산 공식은 동일하게 유지됩니다.
Q. 미래 날짜로 입력하면?
A. 본 도구는 체크섬·날짜 형식을 함께 검사합니다. 존재하지 않는 날짜(예: 2월 30일)도 무효 처리됩니다.