|
|||||||||
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 algorithmMethod 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.Provider
public 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 storedpublic 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 |