javax.crypto
Class MacSpi
- java.lang.Object
javax.crypto.MacSpi
- public abstract class MacSpi
- extends java.lang.Object
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.
Since:
1.4
Version:
1.11, 01/06/04
Author:
Jan Luehe
Constructor Summary
| Constructor and Description |
|---|
MacSpi()
|
Method Summary
| Modifier and Type | Method and Description |
|---|---|
|
clone()
Returns a clone if the implementation is cloneable.
|
|
engineDoFinal()
Completes the MAC computation and resets the MAC for further use,
maintaining the secret key that the MAC was initialized with.
|
|
engineGetMacLength()
Returns the length of the MAC in bytes.
|
|
engineInit(java.security.Key key,java.security.spec.AlgorithmParameterSpec params)
Initializes the MAC with the given (secret) key and algorithm
parameters.
|
|
engineReset()
Resets the MAC for further use, maintaining the secret key that the
MAC was initialized with.
|
|
engineUpdate(byte input)
Processes the given byte.
|
|
engineUpdate(byte[] input,int offset,int len)
Processes the first
len bytes in input,
starting at offset inclusive.
|
|
engineUpdate(java.nio.ByteBuffer input)
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
MacSpi
- public MacSpi()
Method Detail
engineGetMacLength
- protected abstract int engineGetMacLength( )
Returns the length of the MAC in bytes.
Returns:
the MAC length in bytes.
engineInit
- protected abstract void engineInit( java.security.Key key,
- java.security.spec.AlgorithmParameterSpec params)
- throws java.security.InvalidKeyException
- java.security.InvalidAlgorithmParameterException
Initializes the MAC with the given (secret) key and algorithm
parameters.
Parameters:
key - the (secret) key. params - the algorithm parameters. Throws:
java.security.InvalidKeyException - if the given key is inappropriate for
initializing this MAC. java.security.InvalidAlgorithmParameterException - if the given algorithm
parameters are inappropriate for this MAC. engineUpdate
- protected abstract void engineUpdate( byte input)
Processes the given byte.
Parameters:
input - the input byte to be processed. engineUpdate
- protected abstract void engineUpdate( byte[] input,
- int offset,
- int len)
Processes the first
len bytes in input,
starting at offset inclusive.
Parameters:
input - the input buffer. offset - the offset in input where the input starts. len - the number of bytes to process. engineUpdate
- protected void engineUpdate(java.nio.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
engineDoFinal
- 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.
Returns:
the MAC result.
engineReset
- protected abstract void engineReset( )
Resets the MAC for further use, maintaining the secret key that the
MAC was initialized with.
clone
- public java.lang.Object clone()
- throws java.lang.CloneNotSupportedException
Returns a clone if the implementation is cloneable.
Overrides:
clone in class java.lang.Object
Returns:
a clone if the implementation is cloneable.
Throws:
java.lang.CloneNotSupportedException - if this is called
on an implementation that does not support Cloneable.