Digest (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.crypto

## Interface Digest

- All Known Subinterfaces:
    ExtendedDigest, SavableDigest, Xof
  All Known Implementing Classes:
    AsconCXof128, AsconDigest, AsconHash256, AsconXof, AsconXof128, Blake2bDigest, Blake2bpDigest, Blake2sDigest, Blake2spDigest, Blake2xsDigest, Blake3Digest, CSHAKEDigest, DSTU7564Digest, GeneralDigest, GOST3411_2012_256Digest, GOST3411_2012_512Digest, GOST3411_2012Digest, GOST3411Digest, Haraka256Digest, Haraka512Digest, HarakaBase, ISAPDigest, Kangaroo.KangarooTwelve, Kangaroo.MarsupilamiFourteen, KeccakDigest, KMAC, LMSContext, LongDigest, MD2Digest, MD4Digest, MD5Digest, NonMemoableDigest, NullDigest, ParallelHash, PhotonBeetleDigest, Prehash, RIPEMD128Digest, RIPEMD160Digest, RIPEMD256Digest, RIPEMD320Digest, RomulusDigest, SHA1Digest, SHA1InterleaveDigest, SHA224Digest, SHA256Digest, SHA384Digest, SHA3Digest, SHA512Digest, SHA512tDigest, SHAKEDigest, ShortenedDigest, SkeinDigest, SM3Digest, SparkleDigest, TigerDigest, TupleHash, WhirlpoolDigest, XoodyakDigest

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