org.bouncycastle.crypto.digests

Class GeneralDigest

Implemented Interfaces:
Digest, ExtendedDigest
Known Direct Subclasses:
MD4Digest, MD5Digest, RIPEMD128Digest, RIPEMD160Digest, RIPEMD256Digest, RIPEMD320Digest, SHA1Digest, SHA224Digest, SHA256Digest

public abstract class GeneralDigest
extends java.lang.Object
implements ExtendedDigest

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

Constructor Summary

GeneralDigest()
Standard constructor
GeneralDigest(GeneralDigest t)
Copy constructor.

Method Summary

void
finish()
int
getByteLength()
Return the size in bytes of the internal buffer the digest applies it's compression function to.
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.

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

finish

public void finish()

getByteLength

public int getByteLength()
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.

processBlock

protected abstract void processBlock()

processLength

protected abstract void processLength(long bitLength)

processWord

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

reset

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

update

public void update(byte in)
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)
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.