javax.crypto
public abstract class MacSpi extends Object
Providers wishing to implement a Mac must subclass this class and provide appropriate implementations of all its abstract methods, then provide an entry pointing to this implementation in the master {@link java.security.Provider} class.
Implementations may optionally implement the {@link java.lang.Cloneable} interface.
Since: 1.4
Constructor Summary | |
---|---|
MacSpi()
Create a new MacSpi instance. |
Method Summary | |
---|---|
Object | clone()
Returns a clone of this instance if cloning is supported.
|
protected abstract byte[] | engineDoFinal()
Finalize the computation of this MAC and return the result as a
byte array.
|
protected abstract int | engineGetMacLength()
Return the total length, in bytes, of the computed MAC (the length
of the byte array returned by {@link #doFinal()}.
|
protected abstract void | engineInit(Key key, AlgorithmParameterSpec params)
Initialize (or re-initialize) this instance.
|
protected abstract void | engineReset()
Reset this instance. |
protected abstract void | engineUpdate(byte input)
Update this MAC with a single byte.
|
protected abstract void | engineUpdate(byte[] input, int offset, int length)
Update this MAC with a portion of a byte array.
|
protected void | engineUpdate(ByteBuffer buffer)
Update this MAC with the remaining bytes of a buffer.
|
Returns: A clone of this instance.
Throws: java.lang.CloneNotSupportedException If this instance does not support cloneing.
Returns: The MAC.
Returns: The MAC length.
Parameters: key The key to use. params The parameters to use.
Throws: java.security.InvalidAlgorithmParameterException If this instance rejects the specified parameters. java.security.InvalidKeyException If this instance rejects the specified key.
Parameters: input The next byte.
Parameters: input The next bytes. offset The index in input
at which to start. length The number of bytes to update.
Parameters: buffer The input buffer.
Since: 1.5