CRC算法,从C到Java?

时间:2013-08-29 08:12:59

标签: java c crc

我的问题是,我有下一个计算CRC的C代码:

#define BYTE unsigned char // 8 bits
#define WORD unsigned int // 16 bits

#define CRC_POLINOM 0xA001

WORD calcul_crc (BYTE *msg, int lng) {
    WORD crc16, retenue;
    int i, j; 
    for (i = 0, crc16 = 0xffff; i < lng; i++, msg++) { 
        crc16 ^= (WORD) (*msg);
        for (j = 0; j < 8; j++) {
            retenue = crc16 & 0x0001;
            crc16 >>= 1; 
            if (retenue != 0) 
                crc16 ^= CRC_POLINOM; 
        }
    }
    return ( crc16 );
}

但是我无法运行C代码,我需要在Java中实现它。我试过使用JNI(有很多问题,我在windows上),从Internet上寻找实现代码......但都失败了。

任何帮助请

0 个答案:

没有答案