|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||
java.lang.Object | +--javax.crypto.Mac
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.
| Constructor Summary | |
protected |
Mac(MacSpi macSpi,
java.security.Provider provider,
java.lang.String algorithm)
Creates a MAC object. |
| Method Summary | |
java.lang.Object |
clone()
Returns a clone if the provider implementation is cloneable. |
byte[] |
doFinal()
Completes this MAC computation and resets this Mac object for further MAC computations with the same secret key. |
byte[] |
doFinal(byte[] input)
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. |
void |
doFinal(byte[] output,
int outOffset)
Completes this MAC computation and resets this Mac object for further MAC computations with the same secret key. |
java.lang.String |
getAlgorithm()
Returns the standard name of the MAC algorithm. |
static Mac |
getInstance(java.lang.String algorithm)
Generates an Mac object that implements the specified MAC algorithm. |
static Mac |
getInstance(java.lang.String algorithm,
java.lang.String provider)
Generates an Mac object for the specified MAC algorithm from the specified provider. |
int |
getMacLength()
Returns the length of the MAC in bytes. |
java.security.Provider |
getProvider()
Returns the provider of this Mac object. |
void |
init(java.security.Key key)
Initialises this Mac object with the given (secret) key. |
void |
init(java.security.Key key,
java.security.spec.AlgorithmParameterSpec params)
Initialises this Mac object with the given (secret) key and algorithm parameters. |
void |
reset()
Resets this Mac object for further MAC computations with the same secret key. |
void |
update(byte input)
Processes the given byte. |
void |
update(byte[] input)
Processes the given array of bytes. |
void |
update(byte[] input,
int offset,
int len)
Processes the first len bytes in input, starting at offset. |
| Methods inherited from class java.lang.Object |
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
| Constructor Detail |
protected Mac(MacSpi macSpi,
java.security.Provider provider,
java.lang.String algorithm)
macSpi - the delegateprovider - the provideralgorithm - the algorithm| Method Detail |
public final java.lang.String getAlgorithm()
public static final Mac getInstance(java.lang.String algorithm)
throws java.security.NoSuchAlgorithmException
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.
public static final Mac getInstance(java.lang.String algorithm,
java.lang.String provider)
throws java.security.NoSuchAlgorithmException,
java.security.NoSuchProviderException
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.Providerpublic final java.security.Provider getProvider()
the - provider of this Mac object.public final int getMacLength()
public final void init(java.security.Key key)
throws java.security.InvalidKeyException
public final void init(java.security.Key key,
java.security.spec.AlgorithmParameterSpec params)
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException
key - the (secret) key.params - the algorithm parameters.
public final void update(byte input)
throws java.lang.IllegalStateException
input - the input byte to be processed.
public final void update(byte[] input)
throws java.lang.IllegalStateException
input - the array of bytes to be processed.
public final void update(byte[] input,
int offset,
int len)
throws java.lang.IllegalStateException
input - the input buffer.offset - the offset in input where the input starts.len - the number of bytes to process.
public final byte[] doFinal()
throws java.lang.IllegalStateException
public final void doFinal(byte[] output,
int outOffset)
throws ShortBufferException,
java.lang.IllegalStateException
output - the buffer where the MAC result is storedoutOffset - the offset in output where the MAC is stored
public final byte[] doFinal(byte[] input)
throws java.lang.IllegalStateException
public final void reset()
public final java.lang.Object clone()
throws java.lang.CloneNotSupportedException
|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||