IT/ETC
주민등록 검증 알고리즘
순수나꾸
2007. 12. 11. 14:28
주민등록번호의 생성원리 주민등록번호는 모두가 앞 6자리 숫자, 뒤 7자리 숫자가 “-“ 연결되어 있다
즉, 다음과 같은 구조를 가지고 있다.
1 |
2 |
3 |
4 |
5 |
6 |
- |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
탄생년 |
탄생월 |
탄생일 |
|
성별 |
지역번호 |
순서 |
코드 |
계산식은 다음과 같다.
1. 주민등록번호의 마지막 자릿수를 제외하고 모두 다음의 수를 곱한 다음 해당 결과값을 모두 더한다.
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} * {2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5}
1번째 자리 * 2
2번째 자리 * 3
...
12번째 자리 * 5
2. 더한 값을 11로 나눈 나머지 값을 11로 다시 뺀다.
3. 이때 10, 11 인 경우 다시 10을 뺀다.
4. 위 계산 과정에서 나온 결과값과 주민등록번호 맨 마지막 자릿수와 비교해서 같으면 주민등록번호가 올바른 것이다.