#include <hash.h>
class CMessageDigest : public CBase |
Public Member Enumerations | |
---|---|
enum | THashId { EMD2, EMD5, ESHA1, HMAC, ..., ESHA512 } |
Public Member Functions | |
---|---|
~CMessageDigest(void) | |
pure virtual IMPORT_C TInt | BlockSize(void) |
pure virtual IMPORT_C CMessageDigest * | CopyL(void) |
pure virtual IMPORT_C TPtrC8 | Final(const TDesC8 &) |
pure virtual IMPORT_C TPtrC8 | Final(void) |
TInt | GetExtension(TUint, TAny *&, TAny *) |
pure virtual IMPORT_C TPtrC8 | Hash(const TDesC8 &) |
pure virtual IMPORT_C TInt | HashSize(void) |
pure virtual IMPORT_C CMessageDigest * | ReplicateL(void) |
pure virtual IMPORT_C void | Reset(void) |
pure virtual void | RestoreState() |
pure virtual void | StoreState() |
pure virtual IMPORT_C void | Update(const TDesC8 &) |
Protected Member Functions | |
---|---|
CMessageDigest(void) | |
CMessageDigest(const CMessageDigest &) |
Base class for message digests.
Enumeration to identify hash functions (aka message-digest algorithms).
Enumerator | Value | Description |
---|---|---|
EMD2 |
Message Digest algorithm developed by Rivest for digital signature applications (and optimized for 8-bit machines). Takes a message of arbitrary length and produces a 128-bit message digest. See RFC 1319 | |
EMD5 |
Message Digest algorithm developed by Rivest for digital signature applications (and optimized for 32-bit machines). Takes a message of arbitrary length and produces a 128-bit message digest. See RFC 1321 | |
ESHA1 |
Secure Hash Algorithm (version 1) is a message digest algorithm developed by NIST, along with the NSA, for use with the Digital Signature Standard (DSS). It takes a message of less than 2^64 bits in length and produces a 160-bit message digest. See FIPS 180-1 and RFC 3174 | |
HMAC |
HMAC - Hash function based Message Authentication Code is a mechanism for message authentication using cryptographic hash functions. (A checksum.) It can be used with any iterative cryptographic hash function, e.g., MD5, SHA-1, in combination with a secret shared key to produce a checksum that is appended to the message. The cryptographic strength of HMAC depends on the properties of the underlying hash function. See RFC 2104 | |
EMD4 |
Message Digest algorithm developed by Rivest for digital signature applications (and optimized for 32-bit machines). Takes a message of arbitrary length and produces a 128-bit message digest. See RFC 1320 | |
ESHA224 |
Secure Hash Algorithm - 224 (version 2) is a message digest algorithm developed by NIST, along with the NSA, for use with the Digital Signature Standard (DSS). It takes a message of less than 2^64 bits in length and produces a 224-bit message digest. See FIPS 180-2 (with change notice), RFC3874 and FIPS 180-3 | |
ESHA256 |
Secure Hash Algorithm - 256 (version 2) is a message digest algorithm developed by NIST, along with the NSA, for use with the Digital Signature Standard (DSS). It takes a message of less than 2^64 bits in length and produces a 256-bit message digest. See FIPS 180-2 and RFC 4634 | |
ESHA384 |
Secure Hash Algorithm - 384 (version 2) is a message digest algorithm developed by NIST, along with the NSA, for use with the Digital Signature Standard (DSS). It takes a message of less than 2^128 bits in length and produces a 384-bit message digest. See FIPS 180-2 and RFC 4634 | |
ESHA512 |
Secure Hash Algorithm - 512 (version 2) is a message digest algorithm developed by NIST, along with the NSA, for use with the Digital Signature Standard (DSS). It takes a message of less than 2^128 bits in length and produces a 512-bit message digest. See FIPS 180-2 and RFC 4634 |
IMPORT_C | CMessageDigest | ( | void | ) | [protected] |
Constructor
IMPORT_C | CMessageDigest | ( | const CMessageDigest & | aMD | ) | [protected] |
Copy constructor
Parameter | Description |
---|---|
aMD | A CMessageDigest object |
IMPORT_C | ~CMessageDigest | ( | void | ) |
Destructor.
IMPORT_C TInt | BlockSize | ( | void | ) | [pure virtual] |
Gets the internal block size of the message digest.
Returns: Internal block size of message digest in bytes.
IMPORT_C CMessageDigest * | CopyL | ( | void | ) | [pure 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().
Returns: A pointer to the new CMessageDigest object
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().
Parameter | Description |
---|---|
aMessage | Data to be included in the hash |
Returns: A descriptor pointer to the buffer containing the resulting hash.
IMPORT_C TPtrC8 | Final | ( | void | ) | [pure virtual] |
Gets a TPtrC8 of the finalised hash of all the previously appended messages and then calls Reset().
Returns: A descriptor pointer to the buffer containing the resulting hash.
Used to retrieve the extended interfaces extension
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.
Parameter | Description |
---|---|
aMessage | Data to be included in the hash. |
Returns: A descriptor pointer to the buffer containing the resulting hash.
IMPORT_C TInt | HashSize | ( | void | ) | [pure virtual] |
Gets the size of the message digest output.
Returns: Output size of the message digest in bytes.
IMPORT_C CMessageDigest * | ReplicateL | ( | void | ) | [pure 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().
Returns: A pointer to the new reset CMessageDigest object
IMPORT_C void | Reset | ( | void | ) | [pure 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().
void | RestoreState | ( | ) | [pure virtual] |
Restores the internal state of the message digest to a previously stored state.
See also: StoreState()
IMPORT_C void | Update | ( | const TDesC8 & | aMessage | ) | [pure virtual] |
Adds data to the internal representation of messages to be hashed.
Parameter | Description |
---|---|
aMessage | Data to be included in the hash. |