根据CCITT多项式C#将CRC计算为Java校验和

时间:2019-05-29 10:56:48

标签: java c# checksum crc

我有一个校验和方法,可以计算用C#编写的CCIT CCn多项式的CRC。现在,我必须在Java中编写相同的方法,但是我不知道如何在Java中编写该方法。

private int ComputeChecksum(byte[] buf, int StartIdx, int EndIdx)
    {
        int CRC = 0xFFFF;

        for (int i = StartIdx; i < EndIdx; i++)
        {
            int ch = buf[i];          /* Process one byte                  */

            for (int j = 0; j < 8; j++)
            {
                int xo = (CRC ^ ch) & 0x0001;

                CRC >>= 1;
                ch  >>= 1;

                if (xo == 1)
                    CRC ^= 0x8408;      /* Toggle bits / set incoming bit    */
            }
        }

        return CRC ^ 0xFFFF;        // 1's complement
    }

0 个答案:

没有答案