Package org.bouncycastle.jcajce.provider.digest

## Class BCMessageDigest

- java.lang.Object
- - java.security.MessageDigestSpi
  - - java.security.MessageDigest
    - - org.bouncycastle.jcajce.provider.digest.BCMessageDigest

- Direct Known Subclasses:
    `Blake2b.Blake2b160`, `Blake2b.Blake2b256`, `Blake2b.Blake2b384`, `Blake2b.Blake2b512`, `Blake2s.Blake2s128`, `Blake2s.Blake2s160`, `Blake2s.Blake2s224`, `Blake2s.Blake2s256`, `DSTU7564.DigestDSTU7564`, `GOST3411.Digest`, `GOST3411.Digest2012_256`, `GOST3411.Digest2012_512`, `Haraka.Digest256`, `Haraka.Digest512`, `Keccak.DigestKeccak`, `MD2.Digest`, `MD4.Digest`, `MD5.Digest`, `RIPEMD128.Digest`, `RIPEMD160.Digest`, `RIPEMD256.Digest`, `RIPEMD320.Digest`, `SHA1.Digest`, `SHA224.Digest`, `SHA256.Digest`, `SHA3.DigestSHA3`, `SHA3.DigestSHAKE`, `SHA384.Digest`, `SHA512.Digest`, `SHA512.DigestT`, `Skein.DigestSkein1024`, `Skein.DigestSkein256`, `Skein.DigestSkein512`, `SM3.Digest`, `Tiger.Digest`, `Whirlpool.Digest`

      public class BCMessageDigest
      extends java.security.MessageDigest

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Digest` | `digest` |
    `protected int` | `digestSize` |

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `BCMessageDigest​(Digest digest)` |
    `protected` | `BCMessageDigest​(Xof digest, int outputSize)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `byte[]` | `engineDigest()` |
    `int` | `engineGetDigestLength()` |
    `void` | `engineReset()` |
    `void` | `engineUpdate​(byte input)` |
    `void` | `engineUpdate​(byte[] input, int offset, int len)` |

    - ### Methods inherited from class java.security.MessageDigest

      `clone, digest, digest, digest, getAlgorithm, getDigestLength, getInstance, getInstance, getInstance, getProvider, isEqual, reset, toString, update, update, update, update`

    - ### Methods inherited from class java.security.MessageDigestSpi

      `engineDigest, engineUpdate`

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

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

- - ### Field Detail

    - #### digest

          protected Digest digest

    - #### digestSize

          protected int digestSize

  - ### Constructor Detail

    - #### BCMessageDigest

          protected BCMessageDigest​(Digest digest)

    - #### BCMessageDigest

          protected BCMessageDigest​(Xof digest,
                                    int outputSize)

  - ### Method Detail

    - #### engineReset

          public void engineReset()

      Specified by:
        `engineReset` in class `java.security.MessageDigestSpi`

    - #### engineUpdate

          public void engineUpdate​(byte input)

      Specified by:
        `engineUpdate` in class `java.security.MessageDigestSpi`

    - #### engineUpdate

          public void engineUpdate​(byte[] input,
                                   int offset,
                                   int len)

      Specified by:
        `engineUpdate` in class `java.security.MessageDigestSpi`

    - #### engineGetDigestLength

          public int engineGetDigestLength()

      Overrides:
        `engineGetDigestLength` in class `java.security.MessageDigestSpi`

    - #### engineDigest

          public byte[] engineDigest()

      Specified by:
        `engineDigest` in class `java.security.MessageDigestSpi`