| 构造器和说明 |
|---|
DigestEngine()
Instantiate the engine.
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected Digest |
copyState(DigestEngine dest)
This function copies the internal buffering state to some other instance of a
class extending
DigestEngine. |
byte[] |
digest()
Finalize the current hash computation and return the hash value
in a newly-allocated array.
|
byte[] |
digest(byte[] input)
Input some bytes, then finalize the current hash computation
and return the hash value in a newly-allocated array.
|
int |
digest(byte[] buf,
int offset,
int len)
Finalize the current hash computation and store the hash value
in the provided output buffer.
|
protected abstract void |
doInit()
This function is called at object creation time; the implementation should
use it to perform initialization tasks.
|
protected abstract void |
doPadding(byte[] buf,
int off)
Perform the final padding and store the result in the provided buffer.
|
protected abstract void |
engineReset()
Reset the hash algorithm state.
|
protected int |
flush()
Flush internal buffers, so that less than a block of data may at most be
upheld.
|
protected byte[] |
getBlockBuffer()
Get a reference to an internal buffer with the same size than a block.
|
protected long |
getBlockCount()
Get the "block count": this is the number of times the
processBlock(byte[])
method has been invoked for the current hash operation. |
protected int |
getInternalBlockLength()
Get the internal block length.
|
protected abstract void |
processBlock(byte[] data)
Process one block of data.
|
void |
reset()
Reset the object: this makes it suitable for a new hash
computation.
|
void |
update(byte input)
Insert one more input data byte.
|
void |
update(byte[] input)
Insert some more bytes.
|
void |
update(byte[] input,
int offset,
int len)
Insert some more bytes.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcopy, getBlockLength, getDigestLength, toStringprotected abstract void engineReset()
protected abstract void processBlock(byte[] data)
data - the data blockprotected abstract void doPadding(byte[] buf,
int off)
flush() and then update(byte) with the
appropriate padding data in order to get the full input data.buf - the output bufferoff - the output offsetprotected abstract void doInit()
Digest.getDigestLength()public byte[] digest()
Digestpublic byte[] digest(byte[] input)
Digestpublic int digest(byte[] buf,
int offset,
int len)
Digestlen parameter
contains the maximum number of bytes that should be written;
no more bytes than the natural hash function output length will
be produced. If len is smaller than the natural
hash output length, the hash output is truncated to its first
len bytes. The object is resetted.public void reset()
Digestpublic void update(byte input)
Digestpublic void update(byte[] input)
Digestpublic void update(byte[] input,
int offset,
int len)
Digestprotected int getInternalBlockLength()
processBlock(byte[]). The default
implementation of this method calls Digest.getBlockLength() and returns the
same value. Overriding this method is useful when the advertised block length
(which is used, for instance, by HMAC) is suboptimal with regards to internal
buffering needs.protected final int flush()
protected final byte[] getBlockBuffer()
flush(): if flush() return the value n, then the
first n bytes of the array returned by this method are the n
bytes of input data which are still unprocessed. The values of the remaining
bytes are undefined and may be altered at will.protected long getBlockCount()
processBlock(byte[])
method has been invoked for the current hash operation. That counter is
incremented after the call to processBlock(byte[]).protected Digest copyState(DigestEngine dest)
DigestEngine. It returns a reference to the copy.
This method is intended to be called by the implementation of the
Digest.copy() method.dest - the copydestCopyright © 2018. All Rights Reserved.