All Packages Class Hierarchy This Package Previous Next Index
Class javax.crypto.Mac
java.lang.Object
|
+----javax.crypto.Mac
- public class Mac
- extends Object
This class provides the functionality of a "message authentication code" (MAC).
A MAC provides a way to check the integrity of information transmitted over or
stored in an unreliable medium, based on a secret key. Typically, message
authentication codes are used between two parties that share a secret key in
order to validate information transmitted between these parties.
A MAC mechanism that is based on cryptographic hash functions is referred to
as HMAC. HMAC can be used with any cryptographic hash function, e.g., MD5 or
SHA-1, in combination with a secret shared key. HMAC is specified in RFC 2104.
-
Mac(MacSpi, Provider, String)
- Creates a MAC object.
-
clone()
- Returns a clone if the provider implementation is cloneable.
-
doFinal()
- Completes this MAC computation and resets this Mac object for
further MAC computations with the same secret key.
-
doFinal(byte[])
- Processes the given array of bytes to complete this MAC computation
and resets this Mac object for further MAC computations with the
same secret key.
-
doFinal(byte[], int)
- Completes this MAC computation and resets this Mac object for
further MAC computations with the same secret key.
-
getAlgorithm()
- Returns the standard name of the MAC algorithm.
-
getInstance(String)
- Generates an Mac object that implements the specified MAC algorithm.
-
getInstance(String, String)
- Generates an Mac object for the specified MAC algorithm from the
specified provider.
-
getMacLength()
- Returns the length of the MAC in bytes.
-
getProvider()
- Returns the provider of this Mac object.
-
init(Key)
- Initialises this Mac object with the given (secret) key.
-
init(Key, AlgorithmParameterSpec)
- Initialises this Mac object with the given (secret) key and algorithm
parameters.
-
reset()
- Resets this Mac object for further MAC computations with the same
secret key.
-
update(byte)
- Processes the given byte.
-
update(byte[])
- Processes the given array of bytes.
-
update(byte[], int, int)
- Processes the first len bytes in input, starting at offset.
Mac
protected Mac(MacSpi macSpi,
Provider provider,
String algorithm)
- Creates a MAC object.
- Parameters:
- macSpi - the delegate
- provider - the provider
- algorithm - the algorithm
getAlgorithm
public final String getAlgorithm()
- Returns the standard name of the MAC algorithm. See Appendix A in the
Java Cryptography Extension API Specification & Reference for
information about standard algorithm names.
- Returns:
- the standard algorithm name.
getInstance
public static final Mac getInstance(String algorithm) throws NoSuchAlgorithmException
- Generates an Mac object that implements the specified MAC algorithm.
If the default provider package provides an implementation of the
requested MAC algorithm, an instance of Mac containing that
implementation is returned. If the algorithm is not available in the
default provider package, other provider packages are searched.
- Parameters:
- algorithm - the standard name of the requested MAC algorithm.
See Appendix A in the Java Cryptography Extension API Specification
& Reference for information about standard algorithm names.
- Returns:
- the new Mac object.
- Throws: NoSuchAlgorithmException
- if the requested MAC algorithm
is not available.
getInstance
public static final Mac getInstance(String algorithm,
String provider) throws NoSuchAlgorithmException, NoSuchProviderException
- Generates an Mac object for the specified MAC algorithm from the
specified provider.
- Parameters:
- algorithm - the standard name of the requested MAC algorithm.
See Appendix A in the Java Cryptography Extension API Specification
& Reference for information about standard algorithm names.
- provider - the name of the provider.
- Returns:
- the new Mac object.
- Throws: NoSuchAlgorithmException
- if the requested MAC algorithm is
not available from the provider.
- Throws: NoSuchProviderException
- if the requested provider is not
available.
- See Also:
- Provider
getProvider
public final Provider getProvider()
- Returns the provider of this Mac object.
- Parameters:
- the - provider of this Mac object.
getMacLength
public final int getMacLength()
- Returns the length of the MAC in bytes.
- Returns:
- the MAC length in bytes.
init
public final void init(Key key) throws InvalidKeyException
- Initialises this Mac object with the given (secret) key.
- Returns:
- key the (secret) key.
- Throws: InvalidKeyException
- if the given key is inappropriate
for initialising this MAC.
init
public final void init(Key key,
AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException
- Initialises this Mac object with the given (secret) key and algorithm
parameters.
- Parameters:
- key - the (secret) key.
- params - the algorithm parameters.
- Throws: InvalidKeyException
- if the given key is inappropriate
for initialising this MAC.
- Throws: InvalidAlgorithmParameterException
- if the given algorithm
parameters are inappropriate for this MAC.
update
public final void update(byte input) throws IllegalStateException
- Processes the given byte.
- Parameters:
- input - the input byte to be processed.
- Throws: IllegalStateException
- if this Mac has not been initialised.
update
public final void update(byte input[]) throws IllegalStateException
- Processes the given array of bytes.
- Parameters:
- input - the array of bytes to be processed.
- Throws: IllegalStateException
- if this Mac has not been
initialised.
update
public final void update(byte input[],
int offset,
int len) throws IllegalStateException
- Processes the first len bytes in input, starting at offset.
- Parameters:
- input - the input buffer.
- offset - the offset in input where the input starts.
- len - the number of bytes to process.
- Throws: IllegalStateException
- if this Mac has not been initialised.
doFinal
public final byte[] doFinal() throws IllegalStateException
- Completes this MAC computation and resets this Mac object for
further MAC computations with the same secret key. (In order to
reuse this Mac object with a different secret key, init must be
called after this call has completed.)
- Returns:
- the MAC result.
- Throws: IllegalStateException
- if this Mac has not been
initialised.
doFinal
public final void doFinal(byte output[],
int outOffset) throws ShortBufferException, IllegalStateException
- Completes this MAC computation and resets this Mac object for
further MAC computations with the same secret key. (In order to
reuse this Mac object with a different secret key, init must be
called after this call has completed.) The MAC result is stored
in output, starting at outOffset.
- Parameters:
- output - the buffer where the MAC result is stored
- outOffset - the offset in output where the MAC is stored
- Throws: ShortBufferException
- if the given output buffer is too
small to hold the result
- Throws: IllegalStateException
- if this Mac has not been
initialized.
doFinal
public final byte[] doFinal(byte input[]) throws IllegalStateException
- Processes the given array of bytes to complete this MAC computation
and resets this Mac object for further MAC computations with the
same secret key. (In order to reuse this Mac object with a different
secret key, init must be called after this call has completed.)
- Returns:
- the MAC result.
- Throws: IllegalStateException
- if this Mac has not been
initialised.
reset
public final void reset()
- Resets this Mac object for further MAC computations with the same
secret key. (In order to reuse this Mac object with a different
secret key, init must be called after this call has completed.)
clone
public final Object clone() throws CloneNotSupportedException
- Returns a clone if the provider implementation is cloneable.
- Returns:
- a clone if the provider implementation is cloneable.
- Throws: CloneNotSupportedException
- if this is called on a
delegate that does not support Cloneable.
- Overrides:
- clone in class Object
All Packages Class Hierarchy This Package Previous Next Index