Java CRC Calculate CRC32(final byte[] buf, final int startPos, final int endPos)

Here you can find the source of CRC32(final byte[] buf, final int startPos, final int endPos)

Description

CRC

License

Apache License

Declaration

final static public int CRC32(final byte[] buf, final int startPos, final int endPos) 

Method Source Code

//package com.java2s;
/**//from w ww  .  j  a  v a2s.c  o m
 * Copyright 2008
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 * 
 * @project loonframework
 * @author chenpeng
 * @email??ceponline@yahoo.com.cn
 * @version 0.1
 */

public class Main {
    final static private long[] crcTable = new long[256];

    final static public int CRC32(final byte[] buf, final int startPos, final int endPos) {
        long c = 0xFFFFFFFFL;
        for (int i = startPos; i < endPos; i++) {
            c = (crcTable[(int) ((c ^ buf[i]) & 0xFF)] ^ (c >> 8));
        }
        return (int) (c ^ 0xFFFFFFFFL);
    }
}

Related

  1. crc16(byte[] bytes)
  2. crc16(final byte[] bytes)
  3. crc16_get(byte aby[], int nOffset, int nLength)
  4. CRC16_TABLE(byte[] aData, int aSize)
  5. crc32(byte[] array, int offset, int size)
  6. crc32(int[] table, int crc, byte[] buffer, int off, int len)
  7. crc32(long crcin, byte[] buf, int off, int alen)
  8. crc32(String input)
  9. crc320(byte[] buf, int off, int len)