# Package org.bouncycastle.crypto.digests

Message digest classes.

- Interface Summary
  Interface | Description
  --- | ---
  EncodableDigest | Encodable digests allow you to download an encoded copy of their internal state.

- Class Summary
  Class | Description
  --- | ---
  Blake2bDigest | Implementation of the cryptographic hash function Blakbe2b.
  Blake2sDigest | Implementation of the cryptographic hash function BLAKE2s.
  Blake2xsDigest | Implementation of the eXtendable Output Function (XOF) BLAKE2xs.
  CSHAKEDigest | Customizable SHAKE function.
  DSTU7564Digest | Reference implementation of national ukrainian standard of hashing transformation DSTU7564.
  GeneralDigest | base implementation of MD4 family style digest as outlined in "Handbook of Applied Cryptography", pages 344 - 347.
  GOST3411_2012_256Digest | implementation of GOST R 34.11-2012 256-bit
  GOST3411_2012_512Digest | implementation of GOST R 34.11-2012 512-bit
  GOST3411_2012Digest | Base class for GOST3411-2012 256-bit and GOST3411-2012 512-bit digests.
  GOST3411Digest | implementation of GOST R 34.11-94
  Haraka256Digest | Haraka-256 v2, https://eprint.iacr.org/2016/098.pdf
  Haraka512Digest | Haraka-512 v2, https://eprint.iacr.org/2016/098.pdf
  HarakaBase | Base class for Haraka v2, https://eprint.iacr.org/2016/098.pdf
  KeccakDigest | implementation of Keccak based on following KeccakNISTInterface.c from http://keccak.noekeon.org/
  LongDigest | Base class for SHA-384 and SHA-512.
  MD2Digest | implementation of MD2 as outlined in RFC1319 by B.Kaliski from RSA Laboratories April 1992
  MD4Digest | implementation of MD4 as RFC 1320 by R.
  MD5Digest | implementation of MD5 as outlined in "Handbook of Applied Cryptography", pages 346 - 347.
  NonMemoableDigest | Wrapper removes exposure to the Memoable interface on an ExtendedDigest implementation.
  NullDigest |
  RIPEMD128Digest | implementation of RIPEMD128
  RIPEMD160Digest | implementation of RIPEMD see, https://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
  RIPEMD256Digest | implementation of RIPEMD256.
  RIPEMD320Digest | implementation of RIPEMD 320.
  SHA1Digest | implementation of SHA-1 as outlined in "Handbook of Applied Cryptography", pages 346 - 349.
  SHA224Digest | SHA-224 as described in RFC 3874
  SHA256Digest | FIPS 180-2 implementation of SHA-256.
  SHA384Digest | FIPS 180-2 implementation of SHA-384.
  SHA3Digest | implementation of SHA-3 based on following KeccakNISTInterface.c from http://keccak.noekeon.org/
  SHA512Digest | FIPS 180-2 implementation of SHA-512.
  SHA512tDigest | FIPS 180-4 implementation of SHA-512/t
  SHAKEDigest | implementation of SHAKE based on following KeccakNISTInterface.c from http://keccak.noekeon.org/
  ShortenedDigest | Wrapper class that reduces the output length of a particular digest to only the first n bytes of the digest function.
  SkeinDigest | Implementation of the Skein parameterised hash function in 256, 512 and 1024 bit block sizes, based on the `Threefish` tweakable block cipher.
  SkeinEngine | Implementation of the Skein family of parameterised hash functions in 256, 512 and 1024 bit block sizes, based on the `Threefish` tweakable block cipher.
  SkeinEngine.Parameter |
  SM3Digest | Implementation of Chinese SM3 digest as described at https://tools.ietf.org/html/draft-shen-sm3-hash-01 and at .... ( Chinese PDF )
  TigerDigest | implementation of Tiger based on: https://www.cs.technion.ac.il/~biham/Reports/Tiger
  WhirlpoolDigest | Implementation of WhirlpoolDigest, based on Java source published by Barreto and Rijmen.
  XofUtils |