PTLib  Version 2.14.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PMessageDigest5 Class Reference

MD5 Message Digest. More...

#include <cypher.h>

Inheritance diagram for PMessageDigest5:
Collaboration diagram for PMessageDigest5:

Classes

class  Code
 

Public Types

enum  { DigestLength = 16 }
 

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
unsigned GetTraceContextIdentifier () const
 Get PTRACE context identifier. More...
 
void SetTraceContextIdentifier (unsigned id)
 
void GetTraceContextIdentifier (PObject &obj)
 
void GetTraceContextIdentifier (PObject *obj)
 
void SetTraceContextIdentifier (const PObject &obj)
 
void SetTraceContextIdentifier (const PObject *obj)
 
virtual ~PObject ()
 
virtual PObjectClone () const
 Create a copy of the class on the heap. More...
 
template<class CLS >
CLS * CloneAs () const
 As for Clone() but converts to specified type. 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...
 
__inline const PObjectPTraceObjectInstance () const
 
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...
 

Protected Member Functions

virtual void InternalProcess (const void *dataBlock, PINDEX length)
 
virtual void InternalCompleteDigest (Result &result)
 

Additional Inherited Members

- Protected Attributes inherited from PObject
unsigned m_traceContextIdentifier
 
- Friends inherited from PObject

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.

Member Enumeration Documentation

anonymous enum
Enumerator
DigestLength 

Constructor & Destructor Documentation

PMessageDigest5::PMessageDigest5 ( )

Create a new message digestor.

Member Function Documentation

virtual void PMessageDigest5::Complete ( Code result)
virtual
Parameters
resultThe resultant 128 bit MD5 code
virtual PString PMessageDigest5::Complete ( )
virtual
static PString PMessageDigest5::Encode ( const PString str)
static

Encode the data in memory to and MD5 hash value.

Parameters
strString to be encoded to MD5
static void PMessageDigest5::Encode ( const PString str,
Result result 
)
static

Encode the data in memory to and MD5 hash value.

Parameters
strString to be encoded to MD5
resultThe resultant 128 bit MD5 code
static PString PMessageDigest5::Encode ( const char *  cstr)
static

Encode the data in memory to and MD5 hash value.

Parameters
cstrC String to be encoded to MD5
static void PMessageDigest5::Encode ( const char *  cstr,
Result result 
)
static

Encode the data in memory to and MD5 hash value.

Parameters
cstrC String to be encoded to MD5
resultThe resultant 128 bit MD5 code
static PString PMessageDigest5::Encode ( const PBYTEArray data)
static

Encode the data in memory to and MD5 hash value.

Parameters
dataData block to be encoded to MD5
static void PMessageDigest5::Encode ( const PBYTEArray data,
Result result 
)
static

Encode the data in memory to and MD5 hash value.

Parameters
dataData block to be encoded to MD5
resultThe resultant 128 bit MD5 code
static PString PMessageDigest5::Encode ( const void *  dataBlock,
PINDEX  length 
)
static

Encode the data in memory to and MD5 hash value.

Parameters
dataBlockPointer to data to be encoded to MD5
lengthLength of the data block.
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
dataBlockPointer to data to be encoded to MD5
lengthLength of the data block.
resultThe resultant 128 bit MD5 code
static void PMessageDigest5::Encode ( const PString str,
Code result 
)
static

Encode the data in memory to and MD5 hash value.

Parameters
strString to be encoded to MD5
resultThe resultant 128 bit MD5 code
static void PMessageDigest5::Encode ( const char *  cstr,
Code result 
)
static

Encode the data in memory to and MD5 hash value.

Parameters
cstrC String to be encoded to MD5
resultThe resultant 128 bit MD5 code
static void PMessageDigest5::Encode ( const PBYTEArray data,
Code result 
)
static

Encode the data in memory to and MD5 hash value.

Parameters
dataData block to be encoded to MD5
resultThe resultant 128 bit MD5 code
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
dataBlockPointer to data to be encoded to MD5
lengthLength of the data block.
resultThe resultant 128 bit MD5 code
virtual void PMessageDigest5::InternalCompleteDigest ( Result result)
protectedvirtual
Parameters
resultThe resultant 128 bit MD5 code

Implements PMessageDigest.

virtual void PMessageDigest5::InternalProcess ( const void *  dataBlock,
PINDEX  length 
)
protectedvirtual
Parameters
dataBlockPointer to data to be part of the MD5
lengthLength of the data block.

Implements PMessageDigest.

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: