Class GeneralDigest

java.lang.Object
org.bouncycastle.crypto.digests.GeneralDigest
All Implemented Interfaces:
Digest, ExtendedDigest, Memoable
Direct Known Subclasses:
MD4Digest, MD5Digest, RIPEMD128Digest, RIPEMD160Digest, RIPEMD256Digest, RIPEMD320Digest, SHA1Digest, SHA224Digest, SHA256Digest, SM3Digest

public abstract class GeneralDigest extends Object implements ExtendedDigest, Memoable
base implementation of MD4 family style digest as outlined in "Handbook of Applied Cryptography", pages 344 - 347.
  • Field Details

  • Constructor Details

    • GeneralDigest

      protected GeneralDigest()
      Standard constructor
    • GeneralDigest

      protected GeneralDigest(CryptoServicePurpose purpose)
    • GeneralDigest

      protected GeneralDigest(GeneralDigest t)
      Copy constructor. We are using copy constructors in place of the Object.clone() interface as this interface is not supported by J2ME.
    • GeneralDigest

      protected GeneralDigest(byte[] encodedState)
  • Method Details

    • copyIn

      protected void copyIn(GeneralDigest t)
    • update

      public void update(byte in)
      Description copied from interface: Digest
      update the message digest with a single byte.
      Specified by:
      update in interface Digest
      Parameters:
      in - the input byte to be entered.
    • update

      public void update(byte[] in, int inOff, int len)
      Description copied from interface: Digest
      update the message digest with a block of bytes.
      Specified by:
      update in interface Digest
      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.
    • finish

      public void finish()
    • reset

      public void reset()
      Description copied from interface: Digest
      reset the digest back to it's initial state.
      Specified by:
      reset in interface Digest
    • populateState

      protected void populateState(byte[] state)
    • getByteLength

      public int getByteLength()
      Description copied from interface: ExtendedDigest
      Return the size in bytes of the internal buffer the digest applies it's compression function to.
      Specified by:
      getByteLength in interface ExtendedDigest
      Returns:
      byte length of the digests internal buffer.
    • processWord

      protected abstract void processWord(byte[] in, int inOff)
    • processLength

      protected abstract void processLength(long bitLength)
    • processBlock

      protected abstract void processBlock()
    • cryptoServiceProperties

      protected abstract CryptoServiceProperties cryptoServiceProperties()