org.bouncycastle.crypto.digests

Class LongDigest

Implemented Interfaces:
Digest, ExtendedDigest
Known Direct Subclasses:
SHA384Digest, SHA512Digest

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

Base class for SHA-384 and SHA-512.

Field Summary

protected long
H1
protected long
H2
protected long
H3
protected long
H4
protected long
H5
protected long
H6
protected long
H7
protected long
H8

Constructor Summary

LongDigest()
Constructor for variable length word
LongDigest(LongDigest t)
Copy constructor.

Method Summary

void
finish()
int
getByteLength()
protected void
processBlock()
protected void
processLength(long lowW, long hiW)
protected void
processWord(byte[] in, int inOff)
void
reset()
reset the digest back to it's initial state.
protected void
unpackWord(long word, byte[] out, int outOff)
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.

Field Details

H1

protected long H1

H2

protected long H2

H3

protected long H3

H4

protected long H4

H5

protected long H5

H6

protected long H6

H7

protected long H7

H8

protected long H8

Constructor Details

LongDigest

protected LongDigest()
Constructor for variable length word

LongDigest

protected LongDigest(LongDigest 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()
Specified by:
getByteLength in interface ExtendedDigest

processBlock

protected void processBlock()

processLength

protected void processLength(long lowW,
                             long hiW)

processWord

protected 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

unpackWord

protected void unpackWord(long word,
                          byte[] out,
                          int outOff)

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.