org.bouncycastle.crypto.digests
Class GeneralDigest

java.lang.Object
  extended by org.bouncycastle.crypto.digests.GeneralDigest
All Implemented Interfaces:
Digest
Direct Known Subclasses:
SHA1Digest

public abstract class GeneralDigest
extends java.lang.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
abstract  int doFinal(byte[] out, int outOff)
          close the digest, producing the final digest value.
 void finish()
           
abstract  java.lang.String getAlgorithmName()
          return the algorithm name
abstract  int getDigestSize()
          return the size, in bytes, of the digest produced by this message digest.
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
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.

Parameters:
t -
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 -

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 -
inOff -
len -

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)
Parameters:
in -
inOff -

processLength

protected abstract void processLength(long bitLength)
Parameters:
bitLength -

processBlock

protected abstract void processBlock()

doFinal

public abstract int doFinal(byte[] out,
                            int outOff)
Description copied from interface: Digest
close the digest, producing the final digest value. The doFinal call leaves the digest reset.

Specified by:
doFinal in interface Digest
Parameters:
out - the array the digest is to be copied into.
outOff - the offset into the out array the digest is to start at.

getDigestSize

public abstract int getDigestSize()
Description copied from interface: Digest
return the size, in bytes, of the digest produced by this message digest.

Specified by:
getDigestSize in interface Digest
Returns:
the size, in bytes, of the digest produced by this message digest.

getAlgorithmName

public abstract java.lang.String getAlgorithmName()
Description copied from interface: Digest
return the algorithm name

Specified by:
getAlgorithmName in interface Digest
Returns:
the algorithm name