javacard.security
public abstract class InitializedMessageDigestextends MessageDigest
The InitializedMessageDigest class is a subclass of the base class MessageDigest. This class is used to generate a hash representing a specified message but with the additional capability to initialize the starting hash value corresponding to a previously hashed part of the message. Implementations of InitializedMessageDigest algorithms must extend this class and implement all the abstract methods.
A tear or card reset event resets a
InitializedMessageDigest object to the initial state (state upon construction).
Even if a transaction is in progress, update of intermediate result state in the implementation
instance shall not participate in the transaction.
Since:
2.2.2
Field Summary |
---|
Fields inherited from class javacard.security.MessageDigest |
---|
ALG_MD5 , ALG_RIPEMD160 , ALG_SHA , ALG_SHA_256 , ALG_SHA_384 , ALG_SHA_512 , LENGTH_MD5 , LENGTH_RIPEMD160 , LENGTH_SHA , LENGTH_SHA_256 , LENGTH_SHA_384 , LENGTH_SHA_512 |
Constructor Summary | |
---|---|
protected | InitializedMessageDigest () protected constructor |
Method Summary | |
---|---|
abstract void | setInitialDigest (byte[] initialDigestBuf,short initialDigestOffset,short initialDigestLength,byte[] digestedMsgLenBuf,short digestedMsgLenOffset,short digestedMsgLenLength) This method initializes the starting hash value in place of the default value used by the MessageDigest superclass. |
Methods inherited from class javacard.security.MessageDigest |
---|
doFinal , getAlgorithm , getInitializedMessageDigestInstance , getInstance , getLength , reset , update |
Methods inherited from class java.lang.Object |
---|
equals |
Constructor Detail |
---|
protected InitializedMessageDigest()
protected constructor
Method Detail |
---|
public abstract void setInitialDigest(byte[] initialDigestBuf, short initialDigestOffset, short initialDigestLength, byte[] digestedMsgLenBuf, short digestedMsgLenOffset, short digestedMsgLenLength) throws CryptoException
This method initializes the starting hash value in place of the default
value used by the MessageDigest superclass. The starting
hash value represents the previously computed
hash (using the same algorithm) of the first part of the message. The remaining
bytes of the message must be presented to this InitializedMessageDigest
object via the update and doFinal methods to
generate the final message digest.
Note:
Parameters:initialDigestBuf - input buffer containing the starting hash value representing the previously computed hash (using the same algorithm) of first part of the message
initialDigestOffset - offset into initialDigestBuf array where initial digest value data begins
initialDigestLength - the length of data in initialDigestBuf array.
digestedMsgLenBuf - the byte array containing the number of bytes in the first part of the message that has previously been hashed to obtain the specified initial digest value value
digestedMsgLenOffset - the offset within digestedMsgLenBuf where the digested length begins(the bytes starting at this offset for digestedMsgLenLength bytes are concatenated to form the actual digested message length value)
digestedMsgLenLength - byte length of the digested length
Throws:
CryptoException - with the following reason codes: