22020, 1/1101 회원가입  로그인  
   alsduddlrk12
   주민등록번호 만들어내는 규칙에 대해서 설명과 소스 c언어

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Board&no=22720 [복사]


파일인데 그냥있길레 올려바욤 ㅎ


주민등록번호은 규칙이있습니다 주민등록번호는 총 13자리입니다
예를들어 주민번호 5 1 0 6 0 3 - 1 0 0 1 3 2 2는 데시를 기준으로
앞에는 6자리 다음은 7자리입니다 여기서 뒤의 7자리중
제일끝에 있는 수가 중요한 수 입니다 Check Dight 수라고합니다
이 앞의 12자리수는 Check Dight수와 어떤 규칙이 있습니다
규칙은 아래와 같습니다
우선 배열 2 3 4 5 6 7 8 9 2 3 4 5 의 12자리가 있습니다
여기에 주민등록번호 총13자리중 제일 마지막수를 빼고
순서대도 대응되는 숫자끼리 곱한수를 전부 더한 후 11로 나누어
나머지를 구한후 11에서 뺀 나머지의 1의자리를 Check Dight 수라고
합니다 위의 예를들어서
2*5 + 3*1 + 4*0 + 5*6 + 6*0 + 7*3 + 8*1 + 9*0 + 2*0 + 3*1 + 4*3 + 5*2
=97

97 / 11 = 8(목) ----- 9(나머지)

11 - 9(나머지) = 2

510603-100132x 에서 x=2라는 것은
어떤 공식이 성립이 된다고 생각하시면 됩니다

다음은 제가 turbo_c로 만든 소스입니다(참고하세요)


#include<stdio.h>

main()
{

int c[12]={2,3,4,5,6,7,8,9,2,3,4,5},i,a,s=0,x,y,z=27;
clrscr();
gotoxy(1,3);
printf("Input your jumin number :       -        ");

for(i=0;i<12;i++,z++) {

gotoxy(z,3);
a = getche() - 48;
if ( a == -21 ) exit(-1);

if ( a < 0 || a > 9 ) {
                         printf("\nExtent out.. If you exit press Esc key..");
                         printf("\nContinue is press any key except Esc key..");
                               ( getch() == 27 ) ? exit(-1) : main();
                       }


s = ( s + ( a * c[i] ) );
if ( z == 32 ) z++;
}
a = ( getche() - 48 );

x = s % 11;
y = 11 - x;

if ( y > 9 ) y -= 10;

      if ( y == a ) {
                              printf("\nYour jumin number is Normal..");
                              printf("\nIf exit press Esc key.\nElse press any key except.");
                              ( getch() == 27 ) ? exit(-1) : main();
                              }

      else {
printf("\nCheck dight number error..");
printf("\nYour check dight number is not %d but %d.",a,y);
                      printf("\nIf exit press Esc key.\nElse press any key except.");
                ( getch() == 27 ) ? exit(-1) : main();

}
}

이전: [팁]컴을 사용시 "잘못된연산을 수행하여 종료합니다" <== 대처법공개!!
다음: Windows NT SYN flooding 공격법에 대해서 설명 드립니다..  2000/08/24(06:33)
CrazyWWWBoard 2000  


  Hit : 16328     Date : 2012/01/16 03:44



    
별빛을담아 이런건 좀 위험하단 생각이 드는건 저 뿐일까요? 2012/01/16  
BrokenPipe 이미 이런 공식을 악용한 사례도 있어요
태어난 지역 성별 정도만 알면 태어난순서를 타나내는 맨뒤에서 두번째번호를 무작위대입하고
마지막 검증번호만 계산하면
정확한 주민번호를 알아낼 수가있어서
이런 수법으로 주변인들 신상을 악용한 사례가 전에 뉴스에 떴었어요
2012/01/16  
파란바다 저도 위험하다는 생각이 들어요. 2012/01/16  
havu 저도 좀 위험한것 같습니다...
BrokenPipe 님 말대로 파싱을 이용해 실명인증사이트에 브루트포싱하는 방식으로 주민등록번호를 따는게 가능하기 때문에....이런건 개인소장만 하세요
2012/01/16  
BrokenPipe 근데 이미 개인소장하기엔 많이 늦었어요
저 주민생성 알고리즘이 사실 옛날 사이트에서 회원가입시 주민번호를 체크하던 알고리즘인데
주민번호 생성 알고리즘은 이미 널려 알려져있습니다
2012/01/16  
$Zero 이 알고리즘은 검색하면 쉽게 알아낼 수 있고

심지어 열혈강의 자바 프로그래밍 책에 예제로도 실려있습니다.
(주민등록번호 생성기 및 검사기)

다만, 작년에 윈 API 정복의 저자 김상형님께서 주민등록 생성 관련 프로그래밍 자료와 알고리즘을 홈페이지에 올리셨다가 경찰서를 다녀오셨답니다.
위험의 소지가 충분히 있다는 소리죠..
2012/01/17  
bohblue2 주민번호 알고리즘은 널려서....
2012/01/17  
우느님 와우 2012/01/19  
zades soma ㄷ 2024/05/13  
     [공지]해커스쿨 이용수칙 2021/04/11 수정판 [55] 한승재 01/05 12809
22019   해커구함     k1230
10/04 13
22018   카타고 AI[1]     해킹잘하고싶다
10/01 41
22017   시스코 라우터랑 스위치 케이블 장비 질문이에요.[1]     해킹잘하고싶다
09/22 110
22016   ㅇㅅㅇ     해킹잘하고싶다
08/15 293
22015   요즘 하고 있는 거     해킹잘하고싶다
07/13 502
22014   2위 ㅇㅅㅇ     해킹잘하고싶다
07/13 439
22013   ...     해킹잘하고싶다
03/31 832
22012   ...     해킹잘하고싶다
03/25 810
22011   15년전쯤 이 사이트 보고 꿈을 정했었는데~~~[1]     ambition65
03/20 1214
22010   으앙!!![1]     해킹잘하고싶다
02/05 952
22009   오랜만~     DarkSlayer
12/11 1151
22008   해커스쿨 옛날 BGM[1]     wkfhddl4041
11/07 1256
22007   히잉...     해킹잘하고싶다
11/02 1079
22006   바둑과 장기     해킹잘하고싶다
10/30 1165
22005   나는 언제 애인이 생기나욤...     해킹잘하고싶다
10/27 1243
22004   전국 1위     해킹잘하고싶다
10/27 1188
22003   담배 ㅋㅋ[1]     해킹잘하고싶다
10/27 1191
22002   매트릭스의 파란약을 아십니까..?     해킹잘하고싶다
10/27 1146
22001   ㅇㅇ[1]     해킹잘하고싶다
10/20 1111
1 [2][3][4][5][6][7][8][9][10]..[1101]

Copyright 1999-2026 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org