PageSourceSearch

https://www.bugsleague.com/js/javacrypt.js

js bugsleague.com collected 2026-10-05 05:19:20 UTC 24,664 bytes, 532 lines download raw bytes

1/***************************************************************
2 *                                                             *
3 *      JAVACRYPT: CLIENT-SIDE crypt(3) USING JAVASCRIPT       *
4 *                                                             *
5 ***************************************************************
6 *                                                             *
7 *  This Javascript allows you to calculate the encrypted      *
8 *  password generated by the UNIX function crypt(3) on your   *
9 *  computer without using an online script in PHP, PERL,      *
10 *  shell, or any other server-side script.  The only changes  *
11 *  you need make in this are in function dP(), which is right *
12 *  below the end of this comment.  Refer to the directions    *
13 *  there for details.                                         *
14 *                                                             *
15 *  I wish I could take full credit for this script, but there *
16 *  are several people who deserve most of the credit          *
17 *                                                             *
18 *  First and foremost, I thank John F. Dumas for writing      *
19 *  jcrypt.java, a Java-based implementation of crypt(3) and   *
20 *  from which this Javascript is heavily based (actually, I   *
21 *  just did a direct port from his code, using Sun's tutorial *
22 *  and my knowledge of Javascript).  I additionally thank     *
23 *  Eric Young for writing the C code off which Dumas based    *
24 *  his script.  Finally, thanks goes to the original writers  *
25 *  of crypt(3), whoever they are.                             *
26 *                                                             *
27 *  If you have questions, I suggest you ask John Dumas about  *
28 *  them, as I have no real idea what any of this code does.   *
29 *  Base the questions off his source code, as Javascript and  *
30 *  Java are (in basic operators) nearly identical.            *
31 *                                                             *
32 *  jcrypt.java source code can be found at:                   *
33 *  http://locutus.kingwoodcable.com/jfd/crypt.html            *
34 *                                                             *
35 ***************************************************************/
36
37function dP(){
38	if(confirm("Click OK if you have a salt.")) salt=prompt("Please input your two-character string [./a-zA-z0-9]:",'');
39	else salt='';
40	pw_salt=this.crypt(salt,document.CRYPT.PW.value);  // Change CRYPT.PW to the name of the form, then a
41									   // period, then the name of the text box that
42									   // contains the password to encrypt (lower/uppercase matters!)
43									   // e.g., this:
44									   //      <form name=hK><input type=text name=pWd></form>
45									   // yields this:
46									   //      pw_salt=this.crypt(salt,document.hK.pWd.value);
47
48
49	document.CRYPT.ENC_PW.value=pw_salt[0];		   // For this line and the next, change CRYPT.ENC_PW and
50	document.CRYPT.Salt.value=pw_salt[1];		   // CRYPT.Salt to the name of the form, then a period, then
51									   // the name of the text box to display the encrypted
52									   // password in or the salt used, respectively, as shown above.
53	return false;
54}
55
56function bTU(b){
57      value=Math.floor(b);
58      return (value>=0?value:value+256);
59}
60function fBTI(b,offset){
61      value=this.byteToUnsigned(b[offset++]);
62      value|=(this.byteToUnsigned(b[offset++])<<8);
63      value|=(this.byteToUnsigned(b[offset++])<<16);
64      value|=(this.byteToUnsigned(b[offset++])<<24);
65      return value;
66}
67function iTFB(iValue,b,offset){
68      b[offset++]=((iValue)&0xff);
69      b[offset++]=((iValue>>>8)&0xff);
70      b[offset++]=((iValue>>>16)&0xff);
71      b[offset++]=((iValue>>>24)&0xff);
72}
73function P_P(a,b,n,m,results){
74      t=((a>>>n)^b)&m;
75      a^=t<<n;
76      b^=t;
77      results[0]=a;
78      results[1]=b;
79}
80function H_P(a,n,m){
81      t=((a<<(16-n))^a)&m;
82      a=a^t^(t>>>(16-n));
83      return a;
84}
85function d_s_k(key){
86      schedule=new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
87      c=this.fourBytesToInt(key,0);
88      d=this.fourBytesToInt(key,4);
89      results=new Array(0,0);
90      this.PERM_OP(d,c,4,0x0f0f0f0f,results);
91      d=results[0];c=results[1];
92      c=this.HPERM_OP(c,-2,0xcccc0000);
93      d=this.HPERM_OP(d,-2,0xcccc0000);
94      this.PERM_OP(d,c,1,0x55555555,results);
95      d=results[0];c=results[1];
96      this.PERM_OP(c,d,8,0x00ff00ff,results);
97      c=results[0];d=results[1];
98      this.PERM_OP(d,c,1,0x55555555,results);
99      d=results[0];c=results[1];
100      d=(((d&0x000000ff)<<16)|(d&0x0000ff00)|((d&0x00ff0000)>>>16)|((c&0xf0000000)>>>4));
101      c&=0x0fffffff;
102      s=0;t=0;
103      j=0;
104      for(i=0;i<this.ITERATIONS;i++){
105         if(this.shifts2[i]){
106            c=(c>>>2)|(c<<26);
107            d=(d>>>2)|(d<<26);
108         }else{
109            c=(c>>>1)|(c<<27);
110            d=(d>>>1)|(d<<27);
111         }
112         c&=0x0fffffff;
113         d&=0x0fffffff;
114         s=this.skb[0][c&0x3f]|this.skb[1][((c>>>6)&0x03)|((c>>>7)&0x3c)]|this.skb[2][((c>>>13)&0x0f)|((c>>>14)&0x30)]|this.skb[3][((c>>>20)&0x01)|((c>>>21)&0x06)|((c>>>22)&0x38)];
115         t=this.skb[4][d&0x3f]|this.skb[5][((d>>>7)&0x03)|((d>>>8)&0x3c)]|this.skb[6][(d>>>15)&0x3f]|this.skb[7][((d>>>21)&0x0f)|((d>>>22)&0x30)];
116         schedule[j++]=((t<< 16)|(s&0x0000ffff))&0xffffffff;
117         s=((s>>>16)|(t&0xffff0000));
118         s=(s<<4)|(s>>>28);
119         schedule[j++]=s&0xffffffff;
120      }
121      return schedule;
122}
123function D_E(L,R,S,E0,E1,s){
124      v=R^(R>>>16);
125      u=v&E0;
126      v=v&E1;
127      u=(u^(u<<16))^R^s[S];
128      t=(v^(v<<16))^R^s[S+1];
129      t=(t>>>4)|(t<<28);
130      L^=this.SPtrans[1][t&0x3f]|this.SPtrans[3][(t>>>8)&0x3f]|this.SPtrans[5][(t>>>16)&0x3f]|this.SPtrans[7][(t>>>24)&0x3f]|this.SPtrans[0][u&0x3f]|this.SPtrans[2][(u>>>
1308)&0x3f]|this.SPtrans[4][(u>>>16)&0x3f]|this.SPtrans[6][(u>>>24)&0x3f];
131      return L;
132}
133function bdy(schedule,Eswap0,Eswap1) {
134	left=0;
135	right=0;
136	t=0;
137      for(j=0;j<25;j++){
138         for(i=0;i<this.ITERATIONS*2;i+=4){
139            left=this.D_ENCRYPT(left, right,i,Eswap0,Eswap1,schedule);
140            right=this.D_ENCRYPT(right,left,i+2,Eswap0,Eswap1,schedule);
141         }
142         t=left; 
143         left=right; 
144         right=t;
145      }
146      t=right;
147      right=(left>>>1)|(left<<31);
148      left=(t>>>1)|(t<<31);
149      left&=0xffffffff;
150      right&=0xffffffff;
151      results=new Array(0,0);
152      this.PERM_OP(right,left,1,0x55555555,results); 
153      right=results[0];left=results[1];
154      this.PERM_OP(left,right,8,0x00ff00ff,results); 
155      left=results[0];right=results[1];
156      this.PERM_OP(right,left,2,0x33333333,results); 
157      right=results[0];left=results[1];
158      this.PERM_OP(left,right,16,0x0000ffff,results);
159      left=results[0];right=results[1];
160      this.PERM_OP(right,left,4,0x0f0f0f0f,results);
161      right=results[0];left=results[1];
162      out=new Array(0,0);
163      out[0]=left;out[1]=right;
164      return out;
165}
166function rC(){ return this.GOODCHARS[Math.floor(64*Math.random())]; }
167function cript(salt,original){
168	if(salt.length>=2) salt=salt.substring(0,2);
169	while(salt.length<2) salt+=this.randChar();
170	re=new RegExp("[^./a-zA-Z0-9]","g");
171	if(re.test(salt)) salt=this.randChar()+this.randChar();
172	charZero=salt.charAt(0)+'';
173      charOne=salt.charAt(1)+'';
174	ccZ=charZero.charCodeAt(0);
175	ccO=charOne.charCodeAt(0);
176	buffer=charZero+charOne+"           ";
177      Eswap0=this.con_salt[ccZ];
178      Eswap1=this.con_salt[ccO]<<4;
179      key=new Array(0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0);
180      for(i=0;i<key.length&&i<original.length;i++){
181         iChar=original.charCodeAt(i);
182         key[i]=iChar<<1;
183      }
184      schedule=this.des_set_key(key);
185      out=this.body(schedule,Eswap0,Eswap1);
186      b=new Array(0,0,0,0,0,0,0,0,0);
187      this.intToFourBytes(out[0],b,0);
188      this.intToFourBytes(out[1],b,4);
189      b[8]=0;
190      for(i=2,y=0,u=0x80;i<13;i++){
191         for(j=0,c=0;j<6;j++){
192            c<<=1;
193            if((b[y]&u)!=0) c|=1;
194            u>>>=1;
195            if(u==0){
196               y++;
197               u=0x80;
198            }
199            buffer=buffer.substring(0,i)+String.fromCharCode(this.cov_2char[c])+buffer.substring(i+1,buffer.length);
200         }
201      }
202	ret=new Array(buffer,salt);
203      return ret;
204}
205
206function Crypt() {
207this.ITERATIONS=16;
208this.GOODCHARS=new Array(
209	".","/","0","1","2","3","4","5","6","7",
210	"8","9","A","B","C","D","E","F","G","H",
211	"I","J","K","L","M","N","O","P","Q","R",
212	"S","T","U","V","W","X","Y","Z","a","b",
213	"c","d","e","f","g","h","i","j","k","l",
214	"m","n","o","p","q","r","s","t","u","v",
215	"w","x","y","z");
216this.con_salt=new Array(
217	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
218      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
219      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
220      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
221      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
222      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, 
223      0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09, 
224      0x0A,0x0B,0x05,0x06,0x07,0x08,0x09,0x0A, 
225      0x0B,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x12, 
226      0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A, 
227      0x1B,0x1C,0x1D,0x1E,0x1F,0x20,0x21,0x22, 
228      0x23,0x24,0x25,0x20,0x21,0x22,0x23,0x24, 
229      0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C, 
230      0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0x34, 
231      0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C, 
232      0x3D,0x3E,0x3F,0x00,0x00,0x00,0x00,0x00 );
233this.shifts2=new Array(
234	false,false,true,true,true,true,true,true,
235	false,true, true,true,true,true,true,false );
236this.skb=new Array(0,0,0,0,0,0,0,0);
237	this.skb[0]=new Array(
238         0x00000000,0x00000010,0x20000000,0x20000010, 
239         0x00010000,0x00010010,0x20010000,0x20010010, 
240         0x00000800,0x00000810,0x20000800,0x20000810, 
241         0x00010800,0x00010810,0x20010800,0x20010810, 
242         0x00000020,0x00000030,0x20000020,0x20000030, 
243         0x00010020,0x00010030,0x20010020,0x20010030, 
244         0x00000820,0x00000830,0x20000820,0x20000830, 
245         0x00010820,0x00010830,0x20010820,0x20010830, 
246         0x00080000,0x00080010,0x20080000,0x20080010, 
247         0x00090000,0x00090010,0x20090000,0x20090010, 
248         0x00080800,0x00080810,0x20080800,0x20080810, 
249         0x00090800,0x00090810,0x20090800,0x20090810, 
250         0x00080020,0x00080030,0x20080020,0x20080030, 
251         0x00090020,0x00090030,0x20090020,0x20090030, 
252         0x00080820,0x00080830,0x20080820,0x20080830, 
253         0x00090820,0x00090830,0x20090820,0x20090830 );
254	this.skb[1]=new Array(
255         0x00000000,0x02000000,0x00002000,0x02002000, 
256         0x00200000,0x02200000,0x00202000,0x02202000, 
257         0x00000004,0x02000004,0x00002004,0x02002004, 
258         0x00200004,0x02200004,0x00202004,0x02202004, 
259         0x00000400,0x02000400,0x00002400,0x02002400, 
260         0x00200400,0x02200400,0x00202400,0x02202400, 
261         0x00000404,0x02000404,0x00002404,0x02002404, 
262         0x00200404,0x02200404,0x00202404,0x02202404, 
263         0x10000000,0x12000000,0x10002000,0x12002000, 
264         0x10200000,0x12200000,0x10202000,0x12202000, 
265         0x10000004,0x12000004,0x10002004,0x12002004, 
266         0x10200004,0x12200004,0x10202004,0x12202004, 
267         0x10000400,0x12000400,0x10002400,0x12002400, 
268         0x10200400,0x12200400,0x10202400,0x12202400, 
269         0x10000404,0x12000404,0x10002404,0x12002404, 
270         0x10200404,0x12200404,0x10202404,0x12202404 );
271	this.skb[2]=new Array(
272         0x00000000,0x00000001,0x00040000,0x00040001, 
273         0x01000000,0x01000001,0x01040000,0x01040001, 
274         0x00000002,0x00000003,0x00040002,0x00040003, 
275         0x01000002,0x01000003,0x01040002,0x01040003, 
276         0x00000200,0x00000201,0x00040200,0x00040201, 
277         0x01000200,0x01000201,0x01040200,0x01040201, 
278         0x00000202,0x00000203,0x00040202,0x00040203, 
279         0x01000202,0x01000203,0x01040202,0x01040203, 
280         0x08000000,0x08000001,0x08040000,0x08040001, 
281         0x09000000,0x09000001,0x09040000,0x09040001, 
282         0x08000002,0x08000003,0x08040002,0x08040003, 
283         0x09000002,0x09000003,0x09040002,0x09040003, 
284         0x08000200,0x08000201,0x08040200,0x08040201, 
285         0x09000200,0x09000201,0x09040200,0x09040201, 
286         0x08000202,0x08000203,0x08040202,0x08040203, 
287         0x09000202,0x09000203,0x09040202,0x09040203 );
288	this.skb[3]=new Array(
289         0x00000000,0x00100000,0x00000100,0x00100100, 
290         0x00000008,0x00100008,0x00000108,0x00100108, 
291         0x00001000,0x00101000,0x00001100,0x00101100, 
292         0x00001008,0x00101008,0x00001108,0x00101108, 
293         0x04000000,0x04100000,0x04000100,0x04100100, 
294         0x04000008,0x04100008,0x04000108,0x04100108, 
295         0x04001000,0x04101000,0x04001100,0x04101100, 
296         0x04001008,0x04101008,0x04001108,0x04101108, 
297         0x00020000,0x00120000,0x00020100,0x00120100, 
298         0x00020008,0x00120008,0x00020108,0x00120108, 
299         0x00021000,0x00121000,0x00021100,0x00121100, 
300         0x00021008,0x00121008,0x00021108,0x00121108, 
301         0x04020000,0x04120000,0x04020100,0x04120100, 
302         0x04020008,0x04120008,0x04020108,0x04120108, 
303         0x04021000,0x04121000,0x04021100,0x04121100, 
304         0x04021008,0x04121008,0x04021108,0x04121108 );
305	this.skb[4]=new Array(
306         0x00000000,0x10000000,0x00010000,0x10010000, 
307         0x00000004,0x10000004,0x00010004,0x10010004, 
308         0x20000000,0x30000000,0x20010000,0x30010000, 
309         0x20000004,0x30000004,0x20010004,0x30010004, 
310         0x00100000,0x10100000,0x00110000,0x10110000, 
311         0x00100004,0x10100004,0x00110004,0x10110004, 
312         0x20100000,0x30100000,0x20110000,0x30110000, 
313         0x20100004,0x30100004,0x20110004,0x30110004, 
314         0x00001000,0x10001000,0x00011000,0x10011000, 
315         0x00001004,0x10001004,0x00011004,0x10011004, 
316         0x20001000,0x30001000,0x20011000,0x30011000, 
317         0x20001004,0x30001004,0x20011004,0x30011004, 
318         0x00101000,0x10101000,0x00111000,0x10111000, 
319         0x00101004,0x10101004,0x00111004,0x10111004, 
320         0x20101000,0x30101000,0x20111000,0x30111000, 
321         0x20101004,0x30101004,0x20111004,0x30111004 );
322	this.skb[5]=new Array(
323         0x00000000,0x08000000,0x00000008,0x08000008, 
324         0x00000400,0x08000400,0x00000408,0x08000408, 
325         0x00020000,0x08020000,0x00020008,0x08020008, 
326         0x00020400,0x08020400,0x00020408,0x08020408, 
327         0x00000001,0x08000001,0x00000009,0x08000009, 
328         0x00000401,0x08000401,0x00000409,0x08000409, 
329         0x00020001,0x08020001,0x00020009,0x08020009, 
330         0x00020401,0x08020401,0x00020409,0x08020409, 
331         0x02000000,0x0A000000,0x02000008,0x0A000008, 
332         0x02000400,0x0A000400,0x02000408,0x0A000408, 
333         0x02020000,0x0A020000,0x02020008,0x0A020008, 
334         0x02020400,0x0A020400,0x02020408,0x0A020408, 
335         0x02000001,0x0A000001,0x02000009,0x0A000009, 
336         0x02000401,0x0A000401,0x02000409,0x0A000409, 
337         0x02020001,0x0A020001,0x02020009,0x0A020009, 
338         0x02020401,0x0A020401,0x02020409,0x0A020409 );
339	this.skb[6]=new Array(
340         0x00000000,0x00000100,0x00080000,0x00080100, 
341         0x01000000,0x01000100,0x01080000,0x01080100, 
342         0x00000010,0x00000110,0x00080010,0x00080110, 
343         0x01000010,0x01000110,0x01080010,0x01080110, 
344         0x00200000,0x00200100,0x00280000,0x00280100, 
345         0x01200000,0x01200100,0x01280000,0x01280100, 
346         0x00200010,0x00200110,0x00280010,0x00280110, 
347         0x01200010,0x01200110,0x01280010,0x01280110, 
348         0x00000200,0x00000300,0x00080200,0x00080300, 
349         0x01000200,0x01000300,0x01080200,0x01080300, 
350         0x00000210,0x00000310,0x00080210,0x00080310, 
351         0x01000210,0x01000310,0x01080210,0x01080310, 
352         0x00200200,0x00200300,0x00280200,0x00280300, 
353         0x01200200,0x01200300,0x01280200,0x01280300, 
354         0x00200210,0x00200310,0x00280210,0x00280310, 
355         0x01200210,0x01200310,0x01280210,0x01280310 );
356	this.skb[7]=new Array(
357         0x00000000,0x04000000,0x00040000,0x04040000, 
358         0x00000002,0x04000002,0x00040002,0x04040002, 
359         0x00002000,0x04002000,0x00042000,0x04042000, 
360         0x00002002,0x04002002,0x00042002,0x04042002, 
361         0x00000020,0x04000020,0x00040020,0x04040020, 
362         0x00000022,0x04000022,0x00040022,0x04040022, 
363         0x00002020,0x04002020,0x00042020,0x04042020, 
364         0x00002022,0x04002022,0x00042022,0x04042022, 
365         0x00000800,0x04000800,0x00040800,0x04040800, 
366         0x00000802,0x04000802,0x00040802,0x04040802, 
367         0x00002800,0x04002800,0x00042800,0x04042800, 
368         0x00002802,0x04002802,0x00042802,0x04042802, 
369         0x00000820,0x04000820,0x00040820,0x04040820, 
370         0x00000822,0x04000822,0x00040822,0x04040822, 
371         0x00002820,0x04002820,0x00042820,0x04042820, 
372         0x00002822,0x04002822,0x00042822,0x04042822 );
373this.SPtrans=new Array(0,0,0,0,0,0,0,0);
374	this.SPtrans[0]=new Array(
375         0x00820200,0x00020000,0x80800000,0x80820200,
376         0x00800000,0x80020200,0x80020000,0x80800000,
377         0x80020200,0x00820200,0x00820000,0x80000200,
378         0x80800200,0x00800000,0x00000000,0x80020000,
379         0x00020000,0x80000000,0x00800200,0x00020200,
380         0x80820200,0x00820000,0x80000200,0x00800200,
381         0x80000000,0x00000200,0x00020200,0x80820000,
382         0x00000200,0x80800200,0x80820000,0x00000000,
383         0x00000000,0x80820200,0x00800200,0x80020000,
384         0x00820200,0x00020000,0x80000200,0x00800200,
385         0x80820000,0x00000200,0x00020200,0x80800000,
386         0x80020200,0x80000000,0x80800000,0x00820000,
387         0x80820200,0x00020200,0x00820000,0x80800200,
388         0x00800000,0x80000200,0x80020000,0x00000000,
389         0x00020000,0x00800000,0x80800200,0x00820200,
390         0x80000000,0x80820000,0x00000200,0x80020200 );
391	this.SPtrans[1]=new Array(
392         0x10042004,0x00000000,0x00042000,0x10040000,
393         0x10000004,0x00002004,0x10002000,0x00042000,
394         0x00002000,0x10040004,0x00000004,0x10002000,
395         0x00040004,0x10042000,0x10040000,0x00000004,
396         0x00040000,0x10002004,0x10040004,0x00002000,
397         0x00042004,0x10000000,0x00000000,0x00040004,
398         0x10002004,0x00042004,0x10042000,0x10000004,
399         0x10000000,0x00040000,0x00002004,0x10042004,
400         0x00040004,0x10042000,0x10002000,0x00042004,
401         0x10042004,0x00040004,0x10000004,0x00000000,
402         0x10000000,0x00002004,0x00040000,0x10040004,
403         0x00002000,0x10000000,0x00042004,0x10002004,
404         0x10042000,0x00002000,0x00000000,0x10000004,
405         0x00000004,0x10042004,0x00042000,0x10040000,
406         0x10040004,0x00040000,0x00002004,0x10002000,
407         0x10002004,0x00000004,0x10040000,0x00042000 );
408	this.SPtrans[2]=new Array(
409         0x41000000,0x01010040,0x00000040,0x41000040,
410         0x40010000,0x01000000,0x41000040,0x00010040,
411         0x01000040,0x00010000,0x01010000,0x40000000,
412         0x41010040,0x40000040,0x40000000,0x41010000,
413         0x00000000,0x40010000,0x01010040,0x00000040,
414         0x40000040,0x41010040,0x00010000,0x41000000,
415         0x41010000,0x01000040,0x40010040,0x01010000,
416         0x00010040,0x00000000,0x01000000,0x40010040,
417         0x01010040,0x00000040,0x40000000,0x00010000,
418         0x40000040,0x40010000,0x01010000,0x41000040,
419         0x00000000,0x01010040,0x00010040,0x41010000,
420         0x40010000,0x01000000,0x41010040,0x40000000,
421         0x40010040,0x41000000,0x01000000,0x41010040,
422         0x00010000,0x01000040,0x41000040,0x00010040,
423         0x01000040,0x00000000,0x41010000,0x40000040,
424         0x41000000,0x40010040,0x00000040,0x01010000 );
425	this.SPtrans[3]=new Array(
426         0x00100402,0x04000400,0x00000002,0x04100402,
427         0x00000000,0x04100000,0x04000402,0x00100002,
428         0x04100400,0x04000002,0x04000000,0x00000402,
429         0x04000002,0x00100402,0x00100000,0x04000000,
430         0x04100002,0x00100400,0x00000400,0x00000002,
431         0x00100400,0x04000402,0x04100000,0x00000400,
432         0x00000402,0x00000000,0x00100002,0x04100400,
433         0x04000400,0x04100002,0x04100402,0x00100000,
434         0x04100002,0x00000402,0x00100000,0x04000002,
435         0x00100400,0x04000400,0x00000002,0x04100000,
436         0x04000402,0x00000000,0x00000400,0x00100002,
437         0x00000000,0x04100002,0x04100400,0x00000400,
438         0x04000000,0x04100402,0x00100402,0x00100000,
439         0x04100402,0x00000002,0x04000400,0x00100402,
440         0x00100002,0x00100400,0x04100000,0x04000402,
441         0x00000402,0x04000000,0x04000002,0x04100400 );
442	this.SPtrans[4]=new Array(
443         0x02000000,0x00004000,0x00000100,0x02004108,
444         0x02004008,0x02000100,0x00004108,0x02004000,
445         0x00004000,0x00000008,0x02000008,0x00004100,
446         0x02000108,0x02004008,0x02004100,0x00000000,
447         0x00004100,0x02000000,0x00004008,0x00000108,
448         0x02000100,0x00004108,0x00000000,0x02000008,
449         0x00000008,0x02000108,0x02004108,0x00004008,
450         0x02004000,0x00000100,0x00000108,0x02004100,
451         0x02004100,0x02000108,0x00004008,0x02004000,
452         0x00004000,0x00000008,0x02000008,0x02000100,
453         0x02000000,0x00004100,0x02004108,0x00000000,
454         0x00004108,0x02000000,0x00000100,0x00004008,
455         0x02000108,0x00000100,0x00000000,0x02004108,
456         0x02004008,0x02004100,0x00000108,0x00004000,
457         0x00004100,0x02004008,0x02000100,0x00000108,
458         0x00000008,0x00004108,0x02004000,0x02000008 );
459
460	this.SPtrans[5]=new Array(
461         0x20000010,0x00080010,0x00000000,0x20080800,
462         0x00080010,0x00000800,0x20000810,0x00080000,
463         0x00000810,0x20080810,0x00080800,0x20000000,
464         0x20000800,0x20000010,0x20080000,0x00080810,
465         0x00080000,0x20000810,0x20080010,0x00000000,
466         0x00000800,0x00000010,0x20080800,0x20080010,
467         0x20080810,0x20080000,0x20000000,0x00000810,
468         0x00000010,0x00080800,0x00080810,0x20000800,
469         0x00000810,0x20000000,0x20000800,0x00080810,
470         0x20080800,0x00080010,0x00000000,0x20000800,
471         0x20000000,0x00000800,0x20080010,0x00080000,
472         0x00080010,0x20080810,0x00080800,0x00000010,
473         0x20080810,0x00080800,0x00080000,0x20000810,
474         0x20000010,0x20080000,0x00080810,0x00000000,
475         0x00000800,0x20000010,0x20000810,0x20080800,
476         0x20080000,0x00000810,0x00000010,0x20080010 );
477	this.SPtrans[6]=new Array(
478         0x00001000,0x00000080,0x00400080,0x00400001,
479         0x00401081,0x00001001,0x00001080,0x00000000,
480         0x00400000,0x00400081,0x00000081,0x00401000,
481         0x00000001,0x00401080,0x00401000,0x00000081,
482         0x00400081,0x00001000,0x00001001,0x00401081,
483         0x00000000,0x00400080,0x00400001,0x00001080,
484         0x00401001,0x00001081,0x00401080,0x00000001,
485         0x00001081,0x00401001,0x00000080,0x00400000,
486         0x00001081,0x00401000,0x00401001,0x00000081,
487         0x00001000,0x00000080,0x00400000,0x00401001,
488         0x00400081,0x00001081,0x00001080,0x00000000,
489         0x00000080,0x00400001,0x00000001,0x00400080,
490         0x00000000,0x00400081,0x00400080,0x00001080,
491         0x00000081,0x00001000,0x00401081,0x00400000,
492         0x00401080,0x00000001,0x00001001,0x00401081,
493         0x00400001,0x00401080,0x00401000,0x00001001 );
494	this.SPtrans[7]=new Array(
495         0x08200020,0x08208000,0x00008020,0x00000000,
496         0x08008000,0x00200020,0x08200000,0x08208020,
497         0x00000020,0x08000000,0x00208000,0x00008020,
498         0x00208020,0x08008020,0x08000020,0x08200000,
499         0x00008000,0x00208020,0x00200020,0x08008000,
500         0x08208020,0x08000020,0x00000000,0x00208000,
501         0x08000000,0x00200000,0x08008020,0x08200020,
502         0x00200000,0x00008000,0x08208000,0x00000020,
503         0x00200000,0x00008000,0x08000020,0x08208020,
504         0x00008020,0x08000000,0x00000000,0x00208000,
505         0x08200020,0x08008020,0x08008000,0x00200020,
506         0x08208000,0x00000020,0x00200020,0x08008000,
507         0x08208020,0x00200000,0x08200000,0x08000020,
508         0x00208000,0x00008020,0x08008020,0x08200000,
509         0x00000020,0x08208000,0x00208020,0x00000000,
510         0x08000000,0x08200020,0x00008000,0x00208020 );
511this.cov_2char=new Array(
512      0x2E,0x2F,0x30,0x31,0x32,0x33,0x34,0x35, 
513      0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44, 
514      0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C, 
515      0x4D,0x4E,0x4F,0x50,0x51,0x52,0x53,0x54, 
516      0x55,0x56,0x57,0x58,0x59,0x5A,0x61,0x62, 
517      0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A, 
518      0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72, 
519      0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A );
520this.byteToUnsigned=bTU;
521this.fourBytesToInt=fBTI;
522this.intToFourBytes=iTFB;
523this.PERM_OP=P_P;
524this.HPERM_OP=H_P;
525this.des_set_key=d_s_k;
526this.D_ENCRYPT=D_E;
527this.body=bdy;
528this.randChar=rC;
529this.crypt=cript;
530this.displayPassword=dP;
531}
532Javacrypt=new Crypt();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.