home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / source / driver / util / crypt.h < prev    next >
C/C++ Source or Header  |  1991-08-12  |  1KB  |  32 lines

  1. /*** crypt.h ***/
  2.  
  3.  
  4. /***    Codierfunktion:    b = a + CR_OFFSET - FACT*index(a)        ***/
  5. /***                                    ***/
  6. /***    Decodierfunkt.: a = b + FACT*index(b) - CR_OFFSET        ***/
  7. /***                                    ***/
  8. /***    Achtung:    Stringlaenge auf (127+CR_OFFSET)/FACT begrenzt!    ***/
  9.  
  10.  
  11.  
  12. #ifdef CRYPT
  13. #  define CR_OFFSET    (int)113
  14. #  define FACT        (int)5
  15. #  define ENCODE(strin,strout)    {register int i,j=strlen(strin); \
  16.                 strout[j]='\0';for(i=0;i<strlen(strin);i++){ \
  17.         j--;strout[j]=(char)((int)strin[i]+FACT*j-CR_OFFSET);}}
  18. #  define DECODE(strin,strout)    {register int i,j=strlen(strin); \
  19.                 strout[j]='\0';for(i=0;i<strlen(strin);i++){ \
  20.         j--;strout[j]=(char)((int)strin[i]-FACT*i+CR_OFFSET);}}
  21. #else
  22. #  define CR_OFFSET    (int)0
  23. #  define FACT        (int)1
  24. #  define ENCODE(strin,strout)    strcpy(strout,strin)
  25. #  define DECODE(strin,strout)    strcpy(strout,strin)
  26. #endif
  27.  
  28. #define ENCODE2(strin,strout)        {register int i, len=(strin[0]/3)-3; \
  29.                     for(i=0;i<len;i++) strout[i]=(strin[i+1]-573)/3;}
  30. #define DECODE2(strin,strout,len)    {register int i; \
  31.                     for(i=0; i<len; i++) strout[i]=strin[i]*3+573;}
  32.