주민등록번호 체크 알고리즘 > 기술자료 | 해피정닷컴

주민등록번호 체크 알고리즘 > 기술자료

본문 바로가기

사이트 내 전체검색

주민등록번호 체크 알고리즘 > 기술자료

HTML 주민등록번호 체크 알고리즘

페이지 정보


본문

알고리즘을 설명하기 전에 몇가지 확인하고 넘어가야 할 기본 사항이 있습니다.

1. 앞자리 6자리가 생년월일이라는 사실은 누구나 아는 것이죠.
2. 뒷번호 첫번째 자리가 1이나 3일 경우에는 남자이고 2나 4일 경우에는 여자입니다. 이것도 모두 아는 사항이죠.
3과 4는 Y2K문제로 2000년 후 출생자의 경우에 저렇게 된다는 군요. 성별을 구분할 때 홀수인지 짝수인지를 검사해도 되지만 다소 정확도가 떨어지기 때문에 이것은 1,2,3,4중 하나의 숫자인지를 확인하는 것이 확실합니다.
3. 뒷자리의 2번째 부터 6번째까지의 자리는 출생지역에 관한 것인 것으로 아는 저도 정확히 무엇을 뜻하는지는 모릅니다. ^^;
4. 그리고 가장 중요한 마지막자리가 나머지 숫자의 연산해 의해서 계산되어 나오는 체크넘버입니다.
다시말해서 어떤 사이트에 회원가입할 때 주민등록번호란에 아무 번호나 써놓고 마지막자리만 0 ~ 9중의 숫자로 계속 돌려서 입력하다 보면 맞는 숫자가 나온다는 것이지요.

자 그럼 이제 진짜 중요한 체크비트인 마지막 자리를 계산해 내는 계산법입니다.

주민등록번호 790608 - 2552416를 예로 해 보겠습니다.(임의로 생성한 번호입니다.)

체크방법:
(1) 주민등록번호 각각의 수에 234567892345를 순서대로 자리수에 맞게 12자리만 각각 곱합니다.
(2) 곱해서 나온 결과값을 모두 합합니다.
(3) 11에서 합한 값을 11로 나눈 나머지 값을 뺍니다.
(4) 최종결과값이 주민등록번호 마지막자리와 같아야 합니다.
주민등록번호  7  9  0  6  0  8  -  2  5  5  2  4  1  6
체크수  2  3  4  5  6  7     8  9  2  3  4  5  
곱셈 계산결과 (1)  14  27  0  30  0  56     16  45  10  6  16  5  
덧셈 계산 (2)  14 + 27 + 0 + 30 + 56 + 16 + 45 + 10 + 6 + 16 + 5 = 225
체크 계산  11 - (225를 11로 나눈 나머지) = 마지막자리값

자 별거 아니죠? 이것을 이용해서 실제로 PHP, ASP, JSP, JAVASCRIPT등에서 함수로 만들면 됩니다.
아마 각각 언어별로 함수들이 모두 구현되어 공개되어 있을 것입니다.
찾아서 받아서 쓰기만 해도 되겠지만 직접 만들어보는 것도 공부에 많은 도움이 되겠지요?



참고자료 : http://blog.naver.com/ezyoun78?Redirect=Log&logNo=100007790821

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 110 페이지
  • RSS
기술자료 목록
461
WindowsServer   14123  2008-04-16 17:32  
460
SQL   12200  2008-04-15 09:55  
459
제로보드   32732  2008-04-15 09:48  
열람
HTML   29596  2008-04-15 08:28  
457
etc보드   12571  2008-04-15 03:47 ~ 2008-04-17 00:00  
456
WindowsServer   16707  2008-04-15 01:23  
455
그누보드   23326  2008-04-14 12:56  
454
WindowsServer   25757  2008-04-14 07:35 ~ 2013-01-28 00:00  
453
HTML   14126  2008-04-10 18:24  
452
SQL   23311  2008-04-10 01:41  
451
일반   18602  2008-04-08 04:02  
450
WindowsServer   12286  2008-04-08 03:53  
449
WindowsServer   11124  2008-04-08 03:43  
448
MSSQL   35403  2008-04-08 03:35  
447
HTML   33104  2008-04-06 22:12  
446
영카트   12379  2008-04-06 08:55  
445
ClassicASP   19153  2008-04-04 04:45  
444
Linux   13263  2008-03-31 09:25 ~ 2017-09-21 00:00  
443
ClassicASP   12791  2008-03-29 16:40  
442
ClassicASP   26103  2008-03-24 17:55 ~ 2012-05-18 00:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.