org.mozilla.jss.crypto

Class JSSMessageDigest

public abstract class JSSMessageDigest extends Object

Deprecated: Use the JCA interface instead (java.security.MessageDigest)

A class for performing message digesting (hashing) and MAC operations.
Method Summary
byte[]digest()
Completes digestion.
abstract intdigest(byte[] buf, int offset, int len)
Completes digesting, storing the result into the provided array.
byte[]digest(byte[] input)
Provides final data to the digest, then completes it and returns the output.
abstract DigestAlgorithmgetAlgorithm()
Returns the algorithm that this digest uses.
intgetOutputSize()
Returns the length of the digest created by this digest's digest algorithm.
abstract voidinitHMAC(SymmetricKey key)
Initializes an HMAC digest with the given symmetric key.
abstract voidreset()
Resets this digest for further use.
voidupdate(byte input)
Updates the digest with a single byte of input.
abstract voidupdate(byte[] input, int offset, int len)
Updates the digest with a portion of an array.
voidupdate(byte[] input)
Updates the digest with an array.

Method Detail

digest

public byte[] digest()
Completes digestion.

Parameters: If an error occurs while digesting.

Returns: The, ahem, output of the digest operation.

digest

public abstract int digest(byte[] buf, int offset, int len)
Completes digesting, storing the result into the provided array.

Parameters: buf The buffer in which to place the digest output. offset The offset in the buffer at which to store the output. len The amount of space available in the buffer for the digest output.

Returns: The number of bytes actually stored into buf.

Throws: DigestException If the provided space is too small for the digest, or an error occurs with the digest.

digest

public byte[] digest(byte[] input)
Provides final data to the digest, then completes it and returns the output.

Parameters: input The digest's last meal.

Returns: The completed digest.

Throws: DigestException If an error occurs while digesting.

getAlgorithm

public abstract DigestAlgorithm getAlgorithm()
Returns the algorithm that this digest uses.

getOutputSize

public int getOutputSize()
Returns the length of the digest created by this digest's digest algorithm.

Returns: The size in bytes of the output of this digest.

initHMAC

public abstract void initHMAC(SymmetricKey key)
Initializes an HMAC digest with the given symmetric key. This also has the effect of resetting the digest.

Throws: DigestException If this algorithm is not an HMAC algorithm. InvalidKeyException If the given key is not valid.

reset

public abstract void reset()
Resets this digest for further use. This clears all input and output streams. If this is an HMAC digest, the HMAC key is not cleared.

update

public void update(byte input)
Updates the digest with a single byte of input.

update

public abstract void update(byte[] input, int offset, int len)
Updates the digest with a portion of an array.

Parameters: input An array from which to update the digest. offset The index in the array at which to start digesting. len The number of bytes to digest.

Throws: DigestException If an error occurs while digesting.

update

public void update(byte[] input)
Updates the digest with an array.

Parameters: input An array to feed to the digest.

Throws: DigestException If an error occurs while digesting.