]> icculus.org git repositories - btb/d2x.git/blob - main/crypt.c
use portable loader if bigendian
[btb/d2x.git] / main / crypt.c
1 /*
2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
11 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13
14 #ifdef HAVE_CONFIG_H
15 #include <conf.h>
16 #endif
17
18 #ifdef RCS
19 char crypt_rcsid[] = "$Id: crypt.c,v 1.2 2001-01-31 15:17:50 bradleyb Exp $";
20 #endif
21
22 #include <time.h>
23 #include <stdlib.h>
24 #include <string.h>
25
26 #include "inferno.h"
27
28 char *jcrypt (char *plainstring)
29  {
30   int i,t,len;
31   static char cryptstring[20];
32   
33   len=strlen (plainstring); 
34   if (len>8)
35         len=8;
36    
37   for (i=0;i<len;i++)
38         {
39     cryptstring[i]=0; 
40   
41           for (t=0;t<8;t++)
42                 {
43                  cryptstring[i]^=(plainstring[t] ^ plainstring[i%(t+1)]);
44                  cryptstring[i]%=90;
45                  cryptstring[i]+=33;
46                 }
47         }
48   cryptstring[i]=0;
49   return ((char *)cryptstring);
50  }
51                  
52         
53   
54    
55  
56
57  
58   
59