## org.bouncycastle.crypto.digests
Class GeneralDigest

    java.lang.Object
      org.bouncycastle.crypto.digests.GeneralDigest

All Implemented Interfaces:
  Digest

Direct Known Subclasses:
  MD5Digest

    public abstract class GeneralDigest

extends Object
implements Digest

base implementation of MD4 family style digest as outlined in "Handbook of Applied Cryptography", pages 344 - 347.

Constructor Summary
`protected` `GeneralDigest()` Standard constructor
`protected` `GeneralDigest(GeneralDigest t)` Copy constructor.

Method Summary
`void` `finish()`
`protected abstract void` `processBlock()`
`protected abstract void` `processLength(long bitLength)`
`protected abstract void` `processWord(byte[] in, int inOff)`
`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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.bouncycastle.crypto.Digest
`doFinal, getAlgorithmName, getDigestSize`

Constructor Detail

### 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 Detail

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

### processWord

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

### processLength

    protected abstract void processLength(long bitLength)

### processBlock

    protected abstract void processBlock()