Package org.bouncycastle.crypto

## Interface Digest

- All Known Subinterfaces:
    `ExtendedDigest`, `Xof`
  All Known Implementing Classes:
    `Blake2bDigest`, `Blake2sDigest`, `Blake2xsDigest`, `CSHAKEDigest`, `DSTU7564Digest`, `GeneralDigest`, `GOST3411_2012_256Digest`, `GOST3411_2012_512Digest`, `GOST3411_2012Digest`, `GOST3411Digest`, `Haraka256Digest`, `Haraka512Digest`, `HarakaBase`, `KeccakDigest`, `KMAC`, `LMSContext`, `LongDigest`, `MD2Digest`, `MD4Digest`, `MD5Digest`, `NonMemoableDigest`, `NullDigest`, `RIPEMD128Digest`, `RIPEMD160Digest`, `RIPEMD256Digest`, `RIPEMD320Digest`, `SHA1Digest`, `SHA224Digest`, `SHA256Digest`, `SHA384Digest`, `SHA3Digest`, `SHA512Digest`, `SHA512tDigest`, `SHAKEDigest`, `ShortenedDigest`, `SkeinDigest`, `SM3Digest`, `TigerDigest`, `WhirlpoolDigest`

      public interface Digest

  interface that a message digest conforms to.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `doFinal​(byte[] out, int outOff)` | close the digest, producing the final digest value.
    `java.lang.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

    - #### getAlgorithmName

          java.lang.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.

    - #### 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.

    - #### 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.

    - #### reset

          void reset()

      reset the digest back to it's initial state.