jonelo.jacksum.adapt.gnu.crypto.hash
Class BaseHash
java.lang.Object
jonelo.jacksum.adapt.gnu.crypto.hash.BaseHash
- IMessageDigest
public abstract class BaseHash
extends java.lang.Object
implements IMessageDigest
A base abstract class to facilitate hash implementations.
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.
|
BaseHash(String name, int hashSize, int blockSize) - Trivial constructor for use by concrete subclasses.
|
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, int offset, int len)
|
blockSize
protected int blockSize
The hash (inner) block size in bytes.
buffer
protected byte[] buffer
Temporary input buffer.
count
protected long count
Number of bytes processed so far.
hashSize
protected int hashSize
The hash (output) size in bytes.
name
protected String name
The canonical name prefix of the hash.
BaseHash
protected BaseHash(String name,
int hashSize,
int blockSize)
Trivial constructor for use by concrete subclasses.
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.
blockSize
public int blockSize()
clone
public abstract Object clone()
digest
public byte[] digest()
getResult
protected abstract byte[] getResult()
Constructs the result from the contents of the current context.
- the output of the completed hash operation.
hashSize
public int hashSize()
padBuffer
protected abstract byte[] padBuffer()
Returns the byte array to use as padding before completing a hash
operation.
- the bytes to pad the remaining bytes in the buffer before
completing a hash operation.
resetContext
protected abstract void resetContext()
Resets the instance for future re-use.
selfTest
public abstract boolean selfTest()
transform
protected abstract void transform(byte[] in,
int offset)
The block digest transformation per se.
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.
update
public void update(byte b)
update
public void update(byte[] b,
int offset,
int len)