is new.
java.lang.Objectjavax.crypto.MacSpi
This class defines the Service Provider Interface ( SPI ) for the Mac class. All the abstract methods in this class must be implemented by each cryptographic service provider who wishes to supply the implementation of a particular MAC algorithm.
Implementations are free to implement the Cloneable interface.
| Constructor Summary | |
|---|---|
|
MacSpi
() |
|
| Method Summary | |
|---|---|
| Object |
clone
() Returns a clone if the implementation is cloneable. |
| protected abstract byte[] |
engineDoFinal
() Completes the MAC computation and resets the MAC for further use, maintaining the secret key that the MAC was initialized with. |
| protected abstract int |
engineGetMacLength
() Returns the length of the MAC in bytes. |
| protected abstract void |
engineInit
(
Key
key,
AlgorithmParameterSpec
params) Initializes the MAC with the given (secret) key and algorithm parameters. |
| protected abstract void |
engineReset
() Resets the MAC for further use, maintaining the secret key that the MAC was initialized with. |
| protected abstract void |
engineUpdate
(byte input) Processes the given byte. |
| protected abstract void |
engineUpdate
(byte[] input, int offset, int len) Processes the first len bytes in input, starting at offset inclusive. |
protected void
|
engineUpdate
(
ByteBuffer
Processes input.remaining() bytes in the ByteBuffer input, starting at input.position().
|
| Methods inherited from class java.lang. Object |
|---|
| equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
| Constructor Detail |
|---|
public MacSpi()
| Method Detail |
|---|
protected abstract int engineGetMacLength()
protected abstract void engineInit(Key key,
AlgorithmParameterSpec params)
throws InvalidKeyException,
InvalidAlgorithmParameterException
protected abstract void engineUpdate(byte input)
protected abstract void engineUpdate(byte[] input,
int offset,
int len)
engineUpdate
protected void
engineUpdate
(
ByteBuffer
input)
Processes input.remaining() bytes in the ByteBuffer input, starting at input.position(). Upon return, the buffer's position will be equal to its limit; its limit will not have changed.
Subclasses should consider overriding this method if they can process ByteBuffers more efficiently than byte arrays.
Parameters:
input - the ByteBuffer
Since:
1.5
protected abstract byte[] engineDoFinal()
protected abstract void engineReset()
public Object clone()
throws CloneNotSupportedException