org.bouncycastle.crypto

## Interface Digest

- All Known Subinterfaces:
    ExtendedDigest, Xof
  All Known Implementing Classes:
    KeccakDigest, LongDigest, SHA3Digest, SHA512Digest, SHAKEDigest

      public interface Digest

  interface that a message digest conforms to.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `doFinal(byte[] out, int outOff)` close the digest, producing the final digest value.
    `String` | `getAlgorithmName()` return the algorithm name
    `int` | `getDigestSize()` return the size, in bytes, of the digest produced by this message digest.
    `void` | `reset()` reset the digest back to it's initial state.
    `void` | `update(byte in)` update the message digest with a single byte.
    `void` | `update(byte[] in, int inOff, int len)` update the message digest with a block of bytes.

- - ### Method Detail

    - #### doFinal

          int doFinal(byte[] out,
                      int outOff)

      close the digest, producing the final digest value. The doFinal call leaves the digest reset.
      Parameters:
        `out` - the array the digest is to be copied into.
        `outOff` - the offset into the out array the digest is to start at.

    - #### getAlgorithmName

          String getAlgorithmName()

      return the algorithm name
      Returns:
        the algorithm name

    - #### getDigestSize

          int getDigestSize()

      return the size, in bytes, of the digest produced by this message digest.
      Returns:
        the size, in bytes, of the digest produced by this message digest.

    - #### reset

          void reset()

      reset the digest back to it's initial state.

    - #### update

          void update(byte in)

      update the message digest with a single byte.
      Parameters:
        `in` - the input byte to be entered.

    - #### update

          void update(byte[] in,
                      int inOff,
                      int len)

      update the message digest with a block of bytes.
      Parameters:
        `in` - the byte array containing the data.
        `inOff` - the offset into the byte array where the data starts.
        `len` - the length of the data.