gnu.crypto.hash
public abstract class BaseHash extends Object implements IMessageDigest
A base abstract class to facilitate hash implementations.
Version: $Revision: 1.10 $
Field Summary | |
---|---|
protected int | blockSize The hash (inner) block size in bytes. |
protected byte[] | buffer Temporary input buffer. |
protected long | count Number of bytes processed so far. |
protected int | hashSize The hash (output) size in bytes. |
protected String | name The canonical name prefix of the hash. |
Constructor Summary | |
---|---|
protected | BaseHash(String name, int hashSize, int blockSize) Trivial constructor for use by concrete subclasses. |
Method Summary | |
---|---|
int | blockSize() |
abstract Object | clone() |
byte[] | digest() |
protected abstract byte[] | getResult() Constructs the result from the contents of the current context. |
int | hashSize() |
String | name() |
protected abstract byte[] | padBuffer() Returns the byte array to use as padding before completing a hash operation. |
void | reset() |
protected abstract void | resetContext() Resets the instance for future re-use. |
abstract boolean | selfTest() |
protected abstract void | transform(byte[] in, int offset) The block digest transformation per se. |
void | update(byte b) |
void | update(byte[] b) |
void | update(byte[] b, int offset, int len) |
Trivial constructor for use by concrete subclasses.
Parameters: name the canonical name prefix of this instance. hashSize the block size of the output in bytes. blockSize the block size of the internal transform.
Constructs the result from the contents of the current context.
Returns: the output of the completed hash operation.
Returns the byte array to use as padding before completing a hash operation.
Returns: the bytes to pad the remaining bytes in the buffer before completing a hash operation.
The block digest transformation per se.
Parameters: in the blockSize long block, as an array of bytes to digest. offset the index where the data to digest is located within the input buffer.