PMessageDigest5 Class Reference

MD5 Message Digest. More...

`#include <cypher.h>`

Inheritance diagram for PMessageDigest5:

## Classes

class | Code

## Public Member Functions

| PMessageDigest5 ()
| Create a new message digestor. More...
void | Start ()
| Begin a Message Digest operation, initialising the object instance. More...
virtual void | Complete (Code &result)
virtual PString | Complete ()
Public Member Functions inherited from PMessageDigest
| PMessageDigest ()
| Create a new message digestor. More...
virtual void | Process (const void *dataBlock, PINDEX length)
virtual void | Process (const PString &str)
| Incorporate the specified data into the message digest. More...
virtual void | Process (const char *cstr)
| Incorporate the specified data into the message digest. More...
virtual void | Process (const PBYTEArray &data)
| Incorporate the specified data into the message digest. More...
virtual PString | CompleteDigest ()
| Complete the message digest and return the magic number result. More...
virtual void | CompleteDigest (Result &result)
Public Member Functions inherited from PObject
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
virtual PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` class. More...
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank. More...
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const
| Determine the byte wise comparison of two objects. More...
bool | operator== (const PObject &obj) const
| Compare the two objects. More...
bool | operator!= (const PObject &obj) const
| Compare the two objects. More...
bool | operator< (const PObject &obj) const
| Compare the two objects. More...
bool | operator> (const PObject &obj) const
| Compare the two objects. More...
bool | operator<= (const PObject &obj) const
| Compare the two objects. More...
bool | operator>= (const PObject &obj) const
| Compare the two objects. More...
virtual const char * | GetClass (unsigned ancestor=0) const
| Get the current dynamic type of the object instance. More...
PBoolean | IsClass (const char *cls) const
virtual PBoolean | InternalIsDescendant (const char *clsName) const
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...

## Static Public Member Functions

static PString | Encode (const PString &str)
| Encode the data in memory to and MD5 hash value. More...
static void | Encode (const PString &str, Result &result)
| Encode the data in memory to and MD5 hash value. More...
static PString | Encode (const char *cstr)
| Encode the data in memory to and MD5 hash value. More...
static void | Encode (const char *cstr, Result &result)
| Encode the data in memory to and MD5 hash value. More...
static PString | Encode (const PBYTEArray &data)
| Encode the data in memory to and MD5 hash value. More...
static void | Encode (const PBYTEArray &data, Result &result)
| Encode the data in memory to and MD5 hash value. More...
static PString | Encode (const void *dataBlock, PINDEX length)
| Encode the data in memory to and MD5 hash value. More...
static void | Encode (const void *dataBlock, PINDEX length, Result &result)
| Encode the data in memory to and MD5 hash value. More...
static void | Encode (const PString &str, Code &result)
| Encode the data in memory to and MD5 hash value. More...
static void | Encode (const char *cstr, Code &result)
| Encode the data in memory to and MD5 hash value. More...
static void | Encode (const PBYTEArray &data, Code &result)
| Encode the data in memory to and MD5 hash value. More...
static void | Encode (const void *dataBlock, PINDEX length, Code &result)
| Encode the data in memory to and MD5 hash value. More...
Static Public Member Functions inherited from PObject
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...
static const char * | Class ()
| Get the name of the class as a C string. More...

## Protected Member Functions

virtual void | InternalProcess (const void *dataBlock, PINDEX length)
virtual void | InternalCompleteDigest (Result &result)
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...

## Additional Inherited Members

Public Types inherited from PObject
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
| Result of the comparison operation performed by the `Compare()` function. More...

## Detailed Description

MD5 Message Digest.

A class to produce a Message Digest for a block of text/data using the MD5 algorithm as defined in RFC1321 by Ronald Rivest of MIT Laboratory for Computer Science and RSA Data Security, Inc.

## Constructor & Destructor Documentation

## PMessageDigest5()

PMessageDigest5::PMessageDigest5 | ( |  | ) |

Create a new message digestor.

## Member Function Documentation

## Complete() [1/2]

virtual void PMessageDigest5::Complete | ( | Code & | result | ) |

virtual

Parameters

  result | The resultant 128 bit MD5 code

## Complete() [2/2]

virtual PString PMessageDigest5::Complete | ( |  | ) |

virtual

## Encode() [1/12]

static PString PMessageDigest5::Encode | ( | const PString & | str | ) |

static

Encode the data in memory to and MD5 hash value.

Parameters

  str | String to be encoded to MD5

## Encode() [2/12]

static void PMessageDigest5::Encode | ( | const PString & | str,
|  | Result & | result
| ) |  |

static

Encode the data in memory to and MD5 hash value.

Parameters

  str | String to be encoded to MD5
  result | The resultant 128 bit MD5 code

## Encode() [3/12]

static PString PMessageDigest5::Encode | ( | const char * | cstr | ) |

static

Encode the data in memory to and MD5 hash value.

Parameters

  cstr | C String to be encoded to MD5

## Encode() [4/12]

static void PMessageDigest5::Encode | ( | const char * | cstr,
|  | Result & | result
| ) |  |

static

Encode the data in memory to and MD5 hash value.

Parameters

  cstr | C String to be encoded to MD5
  result | The resultant 128 bit MD5 code

## Encode() [5/12]

static PString PMessageDigest5::Encode | ( | const PBYTEArray & | data | ) |

static

Encode the data in memory to and MD5 hash value.

Parameters

  data | Data block to be encoded to MD5

## Encode() [6/12]

static void PMessageDigest5::Encode | ( | const PBYTEArray & | data,
|  | Result & | result
| ) |  |

static

Encode the data in memory to and MD5 hash value.

Parameters

  data | Data block to be encoded to MD5
  result | The resultant 128 bit MD5 code

## Encode() [7/12]

static PString PMessageDigest5::Encode | ( | const void * | dataBlock,
|  | PINDEX | length
| ) |  |

static

Encode the data in memory to and MD5 hash value.

Parameters

  dataBlock | Pointer to data to be encoded to MD5
  length | Length of the data block.

## Encode() [8/12]

static void PMessageDigest5::Encode | ( | const void * | dataBlock,
|  | PINDEX | length,
|  | Result & | result
| ) |  |

static

Encode the data in memory to and MD5 hash value.

Returns
  Base64 encoded MD5 code for the processed data.

Parameters

  dataBlock | Pointer to data to be encoded to MD5
  length | Length of the data block.
  result | The resultant 128 bit MD5 code

## Encode() [9/12]

static void PMessageDigest5::Encode | ( | const PString & | str,
|  | Code & | result
| ) |  |

static

Encode the data in memory to and MD5 hash value.

Parameters

  str | String to be encoded to MD5
  result | The resultant 128 bit MD5 code

## Encode() [10/12]

static void PMessageDigest5::Encode | ( | const char * | cstr,
|  | Code & | result
| ) |  |

static

Encode the data in memory to and MD5 hash value.

Parameters

  cstr | C String to be encoded to MD5
  result | The resultant 128 bit MD5 code

## Encode() [11/12]

static void PMessageDigest5::Encode | ( | const PBYTEArray & | data,
|  | Code & | result
| ) |  |

static

Encode the data in memory to and MD5 hash value.

Parameters

  data | Data block to be encoded to MD5
  result | The resultant 128 bit MD5 code

## Encode() [12/12]

static void PMessageDigest5::Encode | ( | const void * | dataBlock,
|  | PINDEX | length,
|  | Code & | result
| ) |  |

static

Encode the data in memory to and MD5 hash value.

Returns
  Base64 encoded MD5 code for the processed data.

Parameters

  dataBlock | Pointer to data to be encoded to MD5
  length | Length of the data block.
  result | The resultant 128 bit MD5 code

## InternalCompleteDigest()

virtual void PMessageDigest5::InternalCompleteDigest | ( | Result & | result | ) |

protected virtual

Parameters

  result | The resultant 128 bit MD5 code

Implements PMessageDigest.

## InternalProcess()

virtual void PMessageDigest5::InternalProcess | ( | const void * | dataBlock,
|  | PINDEX | length
| ) |  |

protected virtual

Parameters

  dataBlock | Pointer to data to be part of the MD5
  length | Length of the data block.

Implements PMessageDigest.

## Start()

void PMessageDigest5::Start | ( |  | ) |

virtual

Begin a Message Digest operation, initialising the object instance.

Implements PMessageDigest.

The documentation for this class was generated from the following file:

- cypher.h