C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[798] 주민등록 검사의 원리
권창구.태원아빠 [shiftcap] 8283 읽음    2008-09-04 15:25
출생 년도 (YY = 00 - 99 사이의 값)
      +--+
      |   |    출생월 (MM = 01 - 12 사이의 값)
      |   |    +--+
      |   |    |   |   출생일 (DD = 01 - 31 사이의 값)
      |   |    |   |   +--+
      |   |    |   |   |   |       남,여 구분 (1, 3 = 남자, 2, 4 = 여자 ) 
      |   |    |   |   |   |           |
      Y   Y   M   M   D   D   -   X                                    C
  +------------------------------------------------------------------+
  |   0   1   2    3    4   5         6   7   8   9   10  11         12    | index
  |   6   6   0    5    1   0   -    1   3   2    1   6    1            1    | data
  |   2   3   4    5    6   7         8   9   2    3   4    5          KEY  | mask
  +------------------------------------------------------------------+
(11- {12+ 18+ 0+  25+ 6+  0+      8+  27+ 4+  3+  24+ 5}%11)% 10 == 1

* 주민등록 번호 검사 비트 검사 방법

     1) 주민등록 번호에 앞에서부터 2,3,4,5,6,7,8,9,2,3,4,5를 차례로 곱한다.  {0..11}%8+2
     2) 각각의 값을 모두 더한다.                                                                  sum
     3) 이 합을 11로 나눈다. 그러면 나머지는 0,1,2,3,4,5,6,7,8,9,10 중의 하나이다.   
     4) 11에서 나머지를 뺀다.                                              
     5) 이때 나머지 값이 10을 넘으면 10를 빼고,                                           (11-sum%11)%10

          그렇지 않으면 나머지 값이 주민등록 검사 비트이다.

 

예) 660510-1321611

     6 * 2 + 6 * 3 + 0 * 4 + 5 * 5 + 1 * 6 + 0 * 7 + 1 * 8 + 3 * 9 + 2 * 2 + 1 * 3 + 6 * 4 + 1 * 5 = 132  : 합계
     132 % 11        = 0   : 나머지값
     (11 - 0) % 10  = 1  : 결과값
     따라서 키 플래그는 1이다.      그리고 마지막 자리의 체크플래그는 1이다.
     
     키플래그 == 체크플래그 

+------------------------------------------------------------------+
-

+------------------------------------------------------------------+
-

+ -

관련 글 리스트
798 주민등록 검사의 원리 권창구.태원아빠 8283 2008/09/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.