reSIProcate/stack  9694
Public Member Functions | Private Member Functions
HashThread Class Reference
Inheritance diagram for HashThread:
Inheritance graph
[legend]
Collaboration diagram for HashThread:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void thread ()

Private Member Functions

void makeMD5Digest (const char *pBuf)

Detailed Description

Definition at line 40 of file testSecurity.cxx.


Member Function Documentation

void HashThread::makeMD5Digest ( const char *  pBuf) [inline, private]

Definition at line 56 of file testSecurity.cxx.

      {

#ifdef USE_SSL
         unsigned char MD5_digest[EVP_MAX_MD_SIZE+1];
         unsigned int iDigest = 0;
         memset(MD5_digest, 0, sizeof(MD5_digest));

         if(0 == pBuf)
            return;

         const EVP_MD *pDigest = EVP_md5();
         if( 0 == pDigest)
            return;

         EVP_MD_CTX cCtx;
         EVP_DigestInit(&cCtx, pDigest);
         EVP_DigestUpdate(&cCtx, pBuf, strlen(pBuf));
         EVP_DigestFinal(&cCtx, MD5_digest, &iDigest);
         EVP_MD_CTX_cleanup(&cCtx);

//         cout << "Your digest is: " << MD5_digest << endl;
#else
//         cout << "OpenSSL not enabled; cannot calculate digest !!!";
#endif
      }
void HashThread::thread ( ) [inline, virtual]

Implements resip::ThreadIf.

Definition at line 43 of file testSecurity.cxx.

References DebugLog.

      {
         Security security;
         for(int i = 0; i < 500000; i++)
         {
            if (i % 1000 == 0)
            {
               DebugLog(<< "1000 digest calculations complete. ");               
            }
            makeMD5Digest("I don't give a damn about digest");
         }
      }

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