Class PureJavaCrc32C

  • All Implemented Interfaces:
    java.util.zip.Checksum

    public class PureJavaCrc32C
    extends java.lang.Object
    implements java.util.zip.Checksum
    A pure-java implementation of the CRC32 checksum that uses the CRC32-C polynomial, the same polynomial used by iSCSI and implemented on many Intel chipsets supporting SSE4.2.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int crc
      the current CRC value, bit-flipped
      (package private) static int[] T8_0  
      (package private) static int[] T8_1  
      (package private) static int[] T8_2  
      (package private) static int[] T8_3  
      (package private) static int[] T8_4  
      (package private) static int[] T8_5  
      (package private) static int[] T8_6  
      (package private) static int[] T8_7  
    • Constructor Summary

      Constructors 
      Constructor Description
      PureJavaCrc32C()
      Create a new PureJavaCrc32 object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getIntegerValue()  
      long getValue()
      void reset()
      void update​(byte[] b, int off, int len)
      void update​(int b)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.zip.Checksum

        update, update
    • Field Detail

      • crc

        private int crc
        the current CRC value, bit-flipped
      • T8_0

        static final int[] T8_0
      • T8_1

        static final int[] T8_1
      • T8_2

        static final int[] T8_2
      • T8_3

        static final int[] T8_3
      • T8_4

        static final int[] T8_4
      • T8_5

        static final int[] T8_5
      • T8_6

        static final int[] T8_6
      • T8_7

        static final int[] T8_7
    • Constructor Detail

      • PureJavaCrc32C

        public PureJavaCrc32C()
        Create a new PureJavaCrc32 object.
    • Method Detail

      • getIntegerValue

        public int getIntegerValue()
      • getValue

        public long getValue()
        Specified by:
        getValue in interface java.util.zip.Checksum
      • reset

        public void reset()
        Specified by:
        reset in interface java.util.zip.Checksum
      • update

        public void update​(byte[] b,
                           int off,
                           int len)
        Specified by:
        update in interface java.util.zip.Checksum
      • update

        public final void update​(int b)
        Specified by:
        update in interface java.util.zip.Checksum