compact1, compact2, compact3
java.util.zip

## Class CRC32

- java.lang.Object
- - java.util.zip.CRC32

- All Implemented Interfaces:
    Checksum

      public class CRC32
      extends Object
      implements Checksum

  A class that can be used to compute the CRC-32 of a data stream.

  Passing a `null` argument to a method in this class will cause a `NullPointerException` to be thrown.

  See Also:
    `Checksum`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CRC32()` | Creates a new CRC32 object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `long` | `getValue()` | Returns CRC-32 value.
    `void` | `reset()` | Resets CRC-32 to initial value.
    `void` | `update(byte[] b)` | Updates the CRC-32 checksum with the specified array of bytes.
    `void` | `update(byte[] b, int off, int len)` | Updates the CRC-32 checksum with the specified array of bytes.
    `void` | `update(ByteBuffer buffer)` | Updates the checksum with the bytes from the specified buffer.
    `void` | `update(int b)` | Updates the CRC-32 checksum with the specified byte (the low eight bits of the argument b).

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CRC32

          public CRC32()

      Creates a new CRC32 object.

  - ### Method Detail

    - #### update

          public void update(int b)

      Updates the CRC-32 checksum with the specified byte (the low eight bits of the argument b).
      Specified by:
        `update` in interface `Checksum`
      Parameters:
        `b` - the byte to update the checksum with

    - #### update

          public void update(byte[] b,
                             int off,
                             int len)

      Updates the CRC-32 checksum with the specified array of bytes.
      Specified by:
        `update` in interface `Checksum`
      Parameters:
        `b` - the byte array to update the checksum with
        `off` - the start offset of the data
        `len` - the number of bytes to use for the update
      Throws:
        `ArrayIndexOutOfBoundsException` - if `off` is negative, or `len` is negative, or `off+len` is greater than the length of the array `b`

    - #### update

          public void update(byte[] b)

      Updates the CRC-32 checksum with the specified array of bytes.
      Parameters:
        `b` - the array of bytes to update the checksum with

    - #### update

          public void update(ByteBuffer buffer)

      Updates the checksum with the bytes from the specified buffer. The checksum is updated using buffer.`remaining()` bytes starting at buffer.`position()` Upon return, the buffer's position will be updated to its limit; its limit will not have been changed.
      Parameters:
        `buffer` - the ByteBuffer to update the checksum with
      Since:
        1.8

    - #### reset

          public void reset()

      Resets CRC-32 to initial value.
      Specified by:
        `reset` in interface `Checksum`

    - #### getValue

          public long getValue()

      Returns CRC-32 value.
      Specified by:
        `getValue` in interface `Checksum`
      Returns:
        the current checksum value

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.