Class GeneralDigest

java.lang.Object
org.bouncycastle.crypto.digests.GeneralDigest
All Implemented Interfaces:
Digest, ExtendedDigest, Memoable
Direct Known Subclasses:
MD5Digest, SHA1Digest, SHA256Digest

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.
  • Constructor Details

    • GeneralDigest

      protected GeneralDigest()
      Standard constructor
    • 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.
  • 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
    • 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()