CMD4 Class Reference

class CMD4 : public CMessageDigest

An MD4 message digest Algorithm.

Takes a message of arbitrary length as input and produces a 128-bit message digest.

The total input length of data should not be longer than 2^32 in bits(2^31 in bytes) which is roughly half a gig.

Inherits from

Constructor & Destructor Documentation

CMD4(void)

CMD4(void)[private]

Parameters

void

CMD4(const CMD4 &)

CMD4(const CMD4 &aMD4)[private]

Parameters

const CMD4 & aMD4

~CMD4(void)

IMPORT_C~CMD4(void)

Destructor

Parameters

void

Member Functions Documentation

Block()

voidBlock()[private]

Performs the Block operation on the 512 bit blocks

BlockSize(void)

IMPORT_C TIntBlockSize(void)[virtual]

Gets the internal block size of the message digest.

Parameters

void

CopyL(void)

IMPORT_C CMessageDigest *CopyL(void)[virtual]

Creates a new CMessageDigest object with the exact same state as the current object.

This function copies all internal state of the message digest. To create a new CMessageDigest object without the state of the current object, see ReplicateL().

Parameters

void

DoFinal(void)

voidDoFinal(void)[private]

Performs the Block operation on the last 512 bit block. This function does the padding on the last 512 bit block and also appends the length of the message to the last 64-bits of the block.

Parameters

void

DoUpdate(const TUint8 *, TUint)

voidDoUpdate(const TUint8 *aData,
TUintaLength
)[private]

Divides the message into blocks of 512 bits and performs the Block operation on them.

Parameters

const TUint8 * aData
TUint aLength

Final(const TDesC8 &)

IMPORT_C TPtrC8Final(const TDesC8 &aMessage)[virtual]

Adds aMessage to the internal representation of data to be hashed, returns a TPtrC8 of the finalised hash of all the previously appended messages, and calls Reset().

Since
v8.0

Parameters

const TDesC8 & aMessageData to be included in the hash

Final()

IMPORT_C TPtrC8Final()[virtual]

Gets a TPtrC8 of the finalised hash of all the previously appended messages and then calls Reset().

Since
v8.0

Hash(const TDesC8 &)

IMPORT_C TPtrC8Hash(const TDesC8 &aMessage)[virtual]

Adds aMessage to the internal representation of data to be hashed, then returns a TPtrC8 of the finalised hash of all the previously appended messages.

Parameters

const TDesC8 & aMessageData to be included in the hash.

HashSize(void)

IMPORT_C TIntHashSize(void)[virtual]

Gets the size of the message digest output.

Parameters

void

NewL(void)

IMPORT_C CMD4 *NewL(void)[static]

Creates a new MD4 object.

Parameters

void

ReplicateL(void)

IMPORT_C CMessageDigest *ReplicateL(void)[virtual]

Creates a brand new reset CMessageDigest object containing no state information from the current object.

To make a copy of a message digest with its internal state intact, see CopyL().

Parameters

void

Reset(void)

IMPORT_C voidReset(void)[virtual]

Resets the internal state of the message digest.

A reset hash object loses all internal state representing the hashed data. A reset message digest is suitable to begin a new, distinct hash of different data. Any previously returned TPtrC8 from a call to Final() remains valid until any subsequent call to Update() or Final().

Parameters

void

RestoreState()

voidRestoreState()[virtual]

Restores the internal state of the message digest to a previously stored state.

StoreState()

StoreState()

voidStoreState()[virtual]

Stores the internal state of the message digest.

Update(const TDesC8 &)

IMPORT_C voidUpdate(const TDesC8 &aMessage)[virtual]

Adds data to the internal representation of messages to be hashed.

Since
v8.0

Parameters

const TDesC8 & aMessageData to be included in the hash.

Member Data Documentation

TUint iA

TUint iA[private]

TUint iACopy

TUint iACopy[private]

TUint iB

TUint iB[private]

TUint iBCopy

TUint iBCopy[private]

TUint iC

TUint iC[private]

TUint iCCopy

TUint iCCopy[private]

TUint iD

TUint iD[private]

TUint iDCopy

TUint iDCopy[private]

TUint iData

TUint iData[private]

TUint iDataCopy

TUint iDataCopy[private]

TBuf8< MD4_HASH > iHash

TBuf8< MD4_HASH >iHash[private]

TUint iNh

TUint iNh[private]

TUint iNhCopy

TUint iNhCopy[private]

TUint iNl

TUint iNl[private]

TUint iNlCopy

TUint iNlCopy[private]