home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool_main.zip / ool / source / xcrypt.CPP < prev    next >
C/C++ Source or Header  |  1998-05-02  |  794b  |  37 lines

  1. #include <stdlib.h>
  2. #include "xcrypt.h"
  3.  
  4. extern "C" {
  5. #include "md5.h"
  6. char *crypt( char *key, char *salt);
  7. char *crypt16( char *key, char *salt);
  8. void encrypt( char *block, int edflag);
  9. }
  10.  
  11. XString XCrypt :: BuildMD5Key( const XString& userData)
  12. {
  13.    XString buffer;
  14.    MD5_CTX mdContext;
  15.  
  16.    MD5Init (&mdContext);
  17.    MD5Update (&mdContext, (unsigned char*) (char*) userData, userData.GetLength());
  18.    MD5Final (&mdContext);
  19.  
  20.    buffer.GetBuffer(18);
  21.  
  22.    for (int i = 0; i < 16; i++)
  23.       buffer[i] = mdContext.digest[i]; //printf ("%02x", mdContext->digest[i]);
  24.  
  25.    buffer.ReleaseBuffer();
  26.    return buffer;
  27. }
  28.  
  29.  
  30. XString XCrypt :: Crypt16( const XString& data, const XString& key)
  31. {
  32.    XString result;
  33.    result = crypt16( data, key );
  34.    return result;
  35. }
  36.  
  37.