Exemple #1
0
        public static uint CalculateCrc(byte[] buffer, int length)
        {
            uint num        = uint.MaxValue;
            uint polynomial = 3988292384u;
            bool flag       = SupportClass.crcLookupTable == null;

            if (flag)
            {
                SupportClass.crcLookupTable = SupportClass.InitializeTable(polynomial);
            }
            for (int i = 0; i < length; i++)
            {
                num = (num >> 8 ^ SupportClass.crcLookupTable[(int)((uint)buffer[i] ^ (num & 255u))]);
            }
            return(num);
        }