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
.