디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

살려줘. crc 16 ㅠㅠ.. 젭알 살려줘 ㅠㅠㅠㅠㅠㅠㅠㅠㅠ 피자쏨 ㅠㅠ

ㅂㅌㄹ(175.118) 2011.04.27 14:32:50
조회 482 추천 0 댓글 3

crc16 체크 하는 프로그램인데 봐바.

static unsigned short crc_table[CRC_TABLE_SIZE] =
{
    0x0000, 0x8005, 0x800f, 0x000a, 0x801b, 0x001e, 0x0014, 0x8011,
    0x8033, 0x0036, 0x003c, 0x8039, 0x0028, 0x802d, 0x8027, 0x0022,
    0x8063, 0x0066, 0x006c, 0x8069, 0x0078, 0x807d, 0x8077, 0x0072,
    0x0050, 0x8055, 0x805f, 0x005a, 0x804b, 0x004e, 0x0044, 0x8041,
    0x80c3, 0x00c6, 0x00cc, 0x80c9, 0x00d8, 0x80dd, 0x80d7, 0x00d2,
    0x00f0, 0x80f5, 0x80ff, 0x00fa, 0x80eb, 0x00ee, 0x00e4, 0x80e1,
    0x00a0, 0x80a5, 0x80af, 0x00aa, 0x80bb, 0x00be, 0x00b4, 0x80b1,
    0x8093, 0x0096, 0x009c, 0x8099, 0x0088, 0x808d, 0x8087, 0x0082,
    0x8183, 0x0186, 0x018c, 0x8189, 0x0198, 0x819d, 0x8197, 0x0192,
    0x01b0, 0x81b5, 0x81bf, 0x01ba, 0x81ab, 0x01ae, 0x01a4, 0x81a1,
    0x01e0, 0x81e5, 0x81ef, 0x01ea, 0x81fb, 0x01fe, 0x01f4, 0x81f1,
    0x81d3, 0x01d6, 0x01dc, 0x81d9, 0x01c8, 0x81cd, 0x81c7, 0x01c2,
    0x0140, 0x8145, 0x814f, 0x014a, 0x815b, 0x015e, 0x0154, 0x8151,
    0x8173, 0x0176, 0x017c, 0x8179, 0x0168, 0x816d, 0x8167, 0x0162,
    0x8123, 0x0126, 0x012c, 0x8129, 0x0138, 0x813d, 0x8137, 0x0132,
    0x0110, 0x8115, 0x811f, 0x011a, 0x810b, 0x010e, 0x0104, 0x8101,
    0x8303, 0x0306, 0x030c, 0x8309, 0x0318, 0x831d, 0x8317, 0x0312,
    0x0330, 0x8335, 0x833f, 0x033a, 0x832b, 0x032e, 0x0324, 0x8321,
    0x0360, 0x8365, 0x836f, 0x036a, 0x837b, 0x037e, 0x0374, 0x8371,
    0x8353, 0x0356, 0x035c, 0x8359, 0x0348, 0x834d, 0x8347, 0x0342,
    0x03c0, 0x83c5, 0x83cf, 0x03ca, 0x83db, 0x03de, 0x03d4, 0x83d1,
    0x83f3, 0x03f6, 0x03fc, 0x83f9, 0x03e8, 0x83ed, 0x83e7, 0x03e2,
    0x83a3, 0x03a6, 0x03ac, 0x83a9, 0x03b8, 0x83bd, 0x83b7, 0x03b2,
    0x0390, 0x8395, 0x839f, 0x039a, 0x838b, 0x038e, 0x0384, 0x8381,
    0x0280, 0x8285, 0x828f, 0x028a, 0x829b, 0x029e, 0x0294, 0x8291,
    0x82b3, 0x02b6, 0x02bc, 0x82b9, 0x02a8, 0x82ad, 0x82a7, 0x02a2,
    0x82e3, 0x02e6, 0x02ec, 0x82e9, 0x02f8, 0x82fd, 0x82f7, 0x02f2,
    0x02d0, 0x82d5, 0x82df, 0x02da, 0x82cb, 0x02ce, 0x02c4, 0x82c1,
    0x8243, 0x0246, 0x024c, 0x8249, 0x0258, 0x825d, 0x8257, 0x0252,
    0x0270, 0x8275, 0x827f, 0x027a, 0x826b, 0x026e, 0x0264, 0x8261,
    0x0220, 0x8225, 0x822f, 0x022a, 0x823b, 0x023e, 0x0234, 0x8231,
    0x8213, 0x0216, 0x021c, 0x8219, 0x0208, 0x820d, 0x8207, 0x0202
};


void Crc16Gen(unsigned char* buf, unsigned int size)
{
 unsigned short crc16;
 unsigned short *p16 = NULL;

 crc16 = update_crc16(CRC16_POLYNOMIAL, (unsigned char *)buf,  size -2 );
 p16 = (unsigned short*)(buf+(size-2));

 *p16 = crc16;

}
unsigned short update_crc16(unsigned short crc_accum, unsigned char *data_blk_ptr, unsigned short data_blk_size)
{
    register unsigned short i, j;

    for (j = 0; j < data_blk_size; j++)
    {
        i = ((unsigned short)(crc_accum >> 8) ^ *data_blk_ptr++) & 0xff;
        crc_accum = (crc_accum << 8) ^ crc_table[i];
    }
    return crc_accum;
}


이런 C 코드로 생성한 151(data)+2(crc) 데이터가 있는데, 이걸 해석을 해야 하는데 난 C 까막눈이야 아예 몰라 ㅠㅠ 그래서 자바 소스 몇개를 구했엉.

첫번째로는


package com.ubs.crypt;

public class crc162 {

    public static int getcrc16(String args) {
        int[] table = {

             0x0000, 0x8005, 0x800f, 0x000a, 0x801b, 0x001e, 0x0014, 0x8011,
             0x8033, 0x0036, 0x003c, 0x8039, 0x0028, 0x802d, 0x8027, 0x0022,
             0x8063, 0x0066, 0x006c, 0x8069, 0x0078, 0x807d, 0x8077, 0x0072,
             0x0050, 0x8055, 0x805f, 0x005a, 0x804b, 0x004e, 0x0044, 0x8041,
             0x80c3, 0x00c6, 0x00cc, 0x80c9, 0x00d8, 0x80dd, 0x80d7, 0x00d2,
             0x00f0, 0x80f5, 0x80ff, 0x00fa, 0x80eb, 0x00ee, 0x00e4, 0x80e1,
             0x00a0, 0x80a5, 0x80af, 0x00aa, 0x80bb, 0x00be, 0x00b4, 0x80b1,
             0x8093, 0x0096, 0x009c, 0x8099, 0x0088, 0x808d, 0x8087, 0x0082,
             0x8183, 0x0186, 0x018c, 0x8189, 0x0198, 0x819d, 0x8197, 0x0192,
             0x01b0, 0x81b5, 0x81bf, 0x01ba, 0x81ab, 0x01ae, 0x01a4, 0x81a1,
             0x01e0, 0x81e5, 0x81ef, 0x01ea, 0x81fb, 0x01fe, 0x01f4, 0x81f1,
             0x81d3, 0x01d6, 0x01dc, 0x81d9, 0x01c8, 0x81cd, 0x81c7, 0x01c2,
             0x0140, 0x8145, 0x814f, 0x014a, 0x815b, 0x015e, 0x0154, 0x8151,
             0x8173, 0x0176, 0x017c, 0x8179, 0x0168, 0x816d, 0x8167, 0x0162,
             0x8123, 0x0126, 0x012c, 0x8129, 0x0138, 0x813d, 0x8137, 0x0132,
             0x0110, 0x8115, 0x811f, 0x011a, 0x810b, 0x010e, 0x0104, 0x8101,
             0x8303, 0x0306, 0x030c, 0x8309, 0x0318, 0x831d, 0x8317, 0x0312,
             0x0330, 0x8335, 0x833f, 0x033a, 0x832b, 0x032e, 0x0324, 0x8321,
             0x0360, 0x8365, 0x836f, 0x036a, 0x837b, 0x037e, 0x0374, 0x8371,
             0x8353, 0x0356, 0x035c, 0x8359, 0x0348, 0x834d, 0x8347, 0x0342,
             0x03c0, 0x83c5, 0x83cf, 0x03ca, 0x83db, 0x03de, 0x03d4, 0x83d1,
             0x83f3, 0x03f6, 0x03fc, 0x83f9, 0x03e8, 0x83ed, 0x83e7, 0x03e2,
             0x83a3, 0x03a6, 0x03ac, 0x83a9, 0x03b8, 0x83bd, 0x83b7, 0x03b2,
             0x0390, 0x8395, 0x839f, 0x039a, 0x838b, 0x038e, 0x0384, 0x8381,
             0x0280, 0x8285, 0x828f, 0x028a, 0x829b, 0x029e, 0x0294, 0x8291,
             0x82b3, 0x02b6, 0x02bc, 0x82b9, 0x02a8, 0x82ad, 0x82a7, 0x02a2,
             0x82e3, 0x02e6, 0x02ec, 0x82e9, 0x02f8, 0x82fd, 0x82f7, 0x02f2,
             0x02d0, 0x82d5, 0x82df, 0x02da, 0x82cb, 0x02ce, 0x02c4, 0x82c1,
             0x8243, 0x0246, 0x024c, 0x8249, 0x0258, 0x825d, 0x8257, 0x0252,
             0x0270, 0x8275, 0x827f, 0x027a, 0x826b, 0x026e, 0x0264, 0x8261,
             0x0220, 0x8225, 0x822f, 0x022a, 0x823b, 0x023e, 0x0234, 0x8231,
             0x8213, 0x0216, 0x021c, 0x8219, 0x0208, 0x820d, 0x8207, 0x0202
        };
        byte[] bytes = args.getBytes();
        int crc = 0x0000;
        for (byte b : bytes) {
            crc = (crc >> 8) ^ table[(crc ^ b) & 0xff];
        }
        System.out.println("CRC162 = " + Integer.toHexString(crc));
  return crc;
    }

}



이런 소스가 있구.



public class CRC16 {
 //crc check-16을 반환하는 byte배열
 public byte[] addCRC(byte[] bb)
 {
  byte[] barray=new byte[2];
  int Carry ;
  int CRC=0xFFFF;
  for(int i=0;i<bb.length;i++)
  {
   int temp=bb[i];
   if(temp<0)temp=((temp* (-1)) ^ 0xff) +1 ;
   CRC=CRC ^ temp;

   for(int j=0;j<8;j++)
   {
    Carry=CRC & 0x0001;
    CRC=(CRC >> 1);
    if(Carry == 1)
     CRC = CRC ^ 0x8005;
   }
  }

  barray[0]= (byte)(CRC & 0x00FF);
  barray[1]= (byte)((CRC & 0xFF00) >> 8);
  return barray;
 }

이런 소스가 있구.

여하튼 두개를 가지고 151바이트 데이터를 넣고 뽐짝뽐짝 해보니깐.

없음             AAAAA22BBBB111111KIDI-11-99201012131253            0000000000201101271511201101271519     0.0  0580000000000                        


이런 데이터를 가지고 (공백 주의)
첫번째건 
81ce 요걸 주고
두번째건
d80e 이걸 주더라고.

근데 전달 받은 데이터의 crc 바이트는
1515 요게 온단 말이야 ㅠㅠ

레알 미치겠음 ㅠㅠㅠㅠㅠㅠ
어케 짜야 맞는거야 ㅠㅠ? 글구 저 내려온 1515라는 crc값이 맞긴 한거야 ㅠㅠ?

살려주세요.
되는거 알려주시면 피자쏨 ㅠㅠㅠ

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 서비스업에 종사했다면 어떤 진상 고객이라도 잘 처리했을 것 같은 스타는? 운영자 24/10/14 - -
275392 리눅스 관련 질문 한가지만 더 (계정관련) [4] ㅇㅇ(59.1) 11.09.24 49 0
275391 미안해요 알았음ㅋ 이힝(121.177) 11.09.24 32 0
275390 형들 C언어 공부중인데, 배열포인터를 함수의 매개변수로 전달할려면 [1] 시민큐(121.160) 11.09.24 134 0
275387 씨발럼들이 갤은 너덜한데 [2] 로하로하알로하갤로그로 이동합니다. 11.09.24 50 0
275386 for문 조건식에 이꼴넣으면 안되나여 씨팔 [5] 이힝(121.177) 11.09.24 70 0
275385 여기 혹시 룰더스카이 하는 사람있음? [6] abbey road갤로그로 이동합니다. 11.09.24 47 0
275384 너네는 한손으로 몇까지 셀수 있냐? [7] warota(221.150) 11.09.24 97 0
275383 캐꼬닭형 존나 소규모 정모 언제하는 건데? 얼빠진호랑이갤로그로 이동합니다. 11.09.24 88 0
275382 갤이 완전 너덜너덜하네... SODMaster갤로그로 이동합니다. 11.09.24 33 0
275381 횽들 랜덤프로그램에대해 아는거잇는횽 잇어?? [5] (61.77) 11.09.24 54 0
275380 슬픕니다. [2] 얼빠진호랑이갤로그로 이동합니다. 11.09.24 89 0
275379 갤러리 자동로그인주소 ㅋㅋ(124.54) 11.09.24 95 0
275378 프갤에 숙제 물어 보는 애들을 위해 내가 했던 과제들을 올려주지. [3] warota(221.150) 11.09.23 66 0
275377 횽들 리눅스 질문좀..(변수관련) [10] ㅇㅇ(59.1) 11.09.23 59 0
275376 StackOverflow 완전 신세계네 [2] 폐인의세계갤로그로 이동합니다. 11.09.23 83 0
275375 ㅄ드라. 스프링하라. [1] 쵸쵸(219.251) 11.09.23 38 0
275374 요즘 심심해서 맹그는 팟캐스트 플레이어 [3] 시불라미갤로그로 이동합니다. 11.09.23 94 0
275372 자바 초보 질문이요. [3] ㅁㄴ(220.78) 11.09.23 54 0
275370 컴돌이새끼 명지대야 그리고 떡밥좀 그만줘 새끼들아 [4] 컴미(183.99) 11.09.23 54 0
275368 혹시 Alice 란 프로그래밍 잘다루시는 횽있어? 는너(128.210) 11.09.23 51 0
275367 쿄스케는 목동에서 헤메이고 있습니다 [4] 쿄스케갤로그로 이동합니다. 11.09.23 42 0
275366 정전인가.. [1] 커피친설탕(59.3) 11.09.23 18 0
275365 도미노피자 매우 맛난 메뉴 알려드림 [3] SuCo갤로그로 이동합니다. 11.09.23 79 0
275364 저기 님들 [3] 라시엘갤로그로 이동합니다. 11.09.23 45 0
275363 자바 날짜관련 진짜 씹쓰레기였넨 [2] 시불라미갤로그로 이동합니다. 11.09.23 89 0
275361 오늘 갤이 뭐 이리 병신같냐 [2] 땡칠도사갤로그로 이동합니다. 11.09.23 57 0
275360 갤러리 자동로그인주소 [2] ㅋㅋ(124.54) 11.09.23 31 0
275359 안녕하세요 언어공부하려는데 질문좀 여쭙겠습니다. ㅁㄴㄷ(121.130) 11.09.23 35 0
275356 ▣▣▣▣▣▣▣▣▣▣▣▣▣▣터줏대감 자리 여깁니다▣▣▣▣▣▣▣▣▣▣▣▣ [1] ㅁ1현이(125.137) 11.09.23 37 1
275355 오늘 슈스케 하는건 알고 겔질합니까? [4] SuCo갤로그로 이동합니다. 11.09.23 59 0
275353 대학생 때나 취업할 때 영어 많이 필요한가요??? [32] 컴돌이(211.60) 11.09.23 171 0
275352 솔직히 얼호 그만 빨어라 ㅂㅅ드라 [14] 로하로하알로하갤로그로 이동합니다. 11.09.23 109 0
275349 제갈공명 말은 [7] 곰곰곰(121.188) 11.09.23 91 0
275348 알고리즘 이해 잘하시는분ㅜㅜ [10] ㅋㅋ(124.54) 11.09.23 111 0
275347 그나마 좁혀졌다... 소프트웨어 [17] 힙꼬맹갤로그로 이동합니다. 11.09.23 145 0
275346 게임 기획자는 둘째치고 웹관련 기획자는 어케 되는 거임 ?? 야요이갤로그로 이동합니다. 11.09.23 53 0
275345 그냥 내가 알아야 겠다 [2] @cs제갈공명@갤로그로 이동합니다. 11.09.23 38 0
275344 늅늅인사 프겔횽들 안녕? [2] Sayrin갤로그로 이동합니다. 11.09.23 43 0
275343 흉님들 레알 알고리즘 모름? [5] @cs제갈공명@갤로그로 이동합니다. 11.09.23 64 0
275342 어이가 없어서 진짜.. Java 기초질문 [5] 231234(112.160) 11.09.23 68 0
275341 흉님들 비밀번호가 4321인 알고리즘 만드는법좀 [4] @cs제갈공명@갤로그로 이동합니다. 11.09.23 83 0
275339 왠지 나는 말이야 곰곰곰(121.188) 11.09.23 25 0
275337 0원창업이 가능한게 IT다. 골드러쉬 ㄱㄱ신천지 [1] 기획쵸쵸(219.251) 11.09.23 94 0
275336 비틀즈를 들어라 서전트페퍼갤로그로 이동합니다. 11.09.23 26 0
275334 이얏 곧 집에 간다 ㅋ [3] 일광면갤로그로 이동합니다. 11.09.23 64 0
275333 라디오스타가 무도보다 더 재밋다 [3] 서전트페퍼갤로그로 이동합니다. 11.09.23 48 0
275331 라디오스타 룰라편 진짜 너무 웃긴다 [1] 서전트페퍼갤로그로 이동합니다. 11.09.23 355 0
275329 호랑이 누나 y녀6디리(220.118) 11.09.23 63 0
275328 그럼 웹 하려면 [19] ㅋㄱ(183.96) 11.09.23 144 0
275327 ㅁㄴ 님 보세요. 빌어먹을야옹갤로그로 이동합니다. 11.09.23 35 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2