home *** CD-ROM | disk | FTP | other *** search
/ ftp.ncftp.com / ftp.ncftp.com.zip / ftp.ncftp.com / ncftp / older_versions / ncftp-3.2.2-src.tar.bz2 / ncftp-3.2.2-src.tar / ncftp-3.2.2 / libncftp / u_scram.c < prev    next >
C/C++ Source or Header  |  2005-01-01  |  548b  |  31 lines

  1. /* u_scram.c
  2.  *
  3.  * Copyright (c) 1996-2005 Mike Gleason, NcFTP Software.
  4.  * All rights reserved.
  5.  *
  6.  */
  7.  
  8. #include "syshdrs.h"
  9. #ifdef PRAGMA_HDRSTOP
  10. #    pragma hdrstop
  11. #endif
  12.  
  13. void
  14. Scramble(unsigned char *dst, size_t dsize, unsigned char *src, char *key)
  15. {
  16.     int i;
  17.     unsigned int ch;
  18.     unsigned char *k2;
  19.     size_t keyLen;
  20.  
  21.     keyLen = strlen(key);
  22.     k2 = (unsigned char *) key;
  23.     for (i=0; i < (int) dsize - 1; i++) {
  24.         ch = src[i];
  25.         if (ch == 0)
  26.             break;
  27.         dst[i] = (unsigned char) (ch ^ (int) (k2[i % (int) keyLen]));
  28.     }
  29.     dst[i] = '\0';
  30. }    /* Scramble */
  31.