DES in JavaScript : DES « Security « JavaScript DHTML

Home
JavaScript DHTML
1.Ajax Layer
2.Data Type
3.Date Time
4.Development
5.Document
6.Dojo toolkit
7.Event
8.Event onMethod
9.Ext JS
10.Form Control
11.GUI Components
12.HTML
13.Javascript Collections
14.Javascript Objects
15.Javascript Properties
16.jQuery
17.Language Basics
18.Mochkit
19.Mootools
20.Node Operation
21.Object Oriented
22.Page Components
23.Rico
24.Scriptaculous
25.Security
26.SmartClient
27.Style Layout
28.Table
29.Utilities
30.Window Browser
31.YUI Library
JavaScript DHTML » Security » DES 
DES in JavaScript

<html>
  <head>
    <!--
      CryptoMX Tools
      Copyright (C2004 3005 Derek Buitenhuis

      This program is free software; you can redistribute it and/or
      modify it under the terms of the GNU General Public License
      as published by the Free Software Foundation; either version 2
      of the License, or (at your optionany later version.

      This program is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      GNU General Public License for more details.

      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
    -->
    <title>DES Crypt</title>
    <!-- des.js -->
    
    <script language="Javascript">
function dP(){
  salt=document.CRYPT.Salt.value;
  pw_salt=this.crypt(salt,document.CRYPT.PW.value)

  document.CRYPT.ENC_PW.value=pw_salt[0];
  document.CRYPT.Salt.value=pw_salt[1];
  return false;
}

function bTU(b){
      value=Math.floor(b);
      return (value>=0?value:value+256);
}
function fBTI(b,offset){
      value=this.byteToUnsigned(b[offset++]);
      value|=(this.byteToUnsigned(b[offset++])<<8);
      value|=(this.byteToUnsigned(b[offset++])<<16);
      value|=(this.byteToUnsigned(b[offset++])<<24);
      return value;
}
function iTFB(iValue,b,offset){
      b[offset++]=((iValue)&0xff);
      b[offset++]=((iValue>>>8)&0xff);
      b[offset++]=((iValue>>>16)&0xff);
      b[offset++]=((iValue>>>24)&0xff);
}
function P_P(a,b,n,m,results){
      t=((a>>>n)^b)&m;
      a^=t<<n;
      b^=t;
      results[0]=a;
      results[1]=b;
}
function H_P(a,n,m){
      t=((a<<(16-n))^a)&m;
      a=a^t^(t>>>(16-n));
      return a;
}
function d_s_k(key){
      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);
      c=this.fourBytesToInt(key,0);
      d=this.fourBytesToInt(key,4);
      results=new Array(0,0);
      this.PERM_OP(d,c,4,0x0f0f0f0f,results);
      d=results[0];c=results[1];
      c=this.HPERM_OP(c,-2,0xcccc0000);
      d=this.HPERM_OP(d,-2,0xcccc0000);
      this.PERM_OP(d,c,1,0x55555555,results);
      d=results[0];c=results[1];
      this.PERM_OP(c,d,8,0x00ff00ff,results);
      c=results[0];d=results[1];
      this.PERM_OP(d,c,1,0x55555555,results);
      d=results[0];c=results[1];
      d=(((d&0x000000ff)<<16)|(d&0x0000ff00)|((d&0x00ff0000)>>>16)|((c&0xf0000000)>>>4));
      c&=0x0fffffff;
      s=0;t=0;
      j=0;
      for(i=0;i<this.ITERATIONS;i++){
         if(this.shifts2[i]){
            c=(c>>>2)|(c<<26);
            d=(d>>>2)|(d<<26);
         }else{
            c=(c>>>1)|(c<<27);
            d=(d>>>1)|(d<<27);
         }
         c&=0x0fffffff;
         d&=0x0fffffff;
         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)];
         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)];
         schedule[j++]=((t<< 16)|(s&0x0000ffff))&0xffffffff;
         s=((s>>>16)|(t&0xffff0000));
         s=(s<<4)|(s>>>28);
         schedule[j++]=s&0xffffffff;
      }
      return schedule;
}
function D_E(L,R,S,E0,E1,s){
      v=R^(R>>>16);
      u=v&E0;
      v=v&E1;
      u=(u^(u<<16))^R^s[S];
      t=(v^(v<<16))^R^s[S+1];
      t=(t>>>4)|(t<<28);
      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>>>8)&0x3f]|this.SPtrans[4][(u>>>16)&0x3f]|this.SPtrans[6][(u>>>24)&0x3f];
      return L;
}
function bdy(schedule,Eswap0,Eswap1) {
  left=0;
  right=0;
  t=0;
      for(j=0;j<25;j++){
         for(i=0;i<this.ITERATIONS*2;i+=4){
            left=this.D_ENCRYPT(left, right,i,Eswap0,Eswap1,schedule);
            right=this.D_ENCRYPT(right,left,i+2,Eswap0,Eswap1,schedule);
         }
         t=left; 
         left=right; 
         right=t;
      }
      t=right;
      right=(left>>>1)|(left<<31);
      left=(t>>>1)|(t<<31);
      left&=0xffffffff;
      right&=0xffffffff;
      results=new Array(0,0);
      this.PERM_OP(right,left,1,0x55555555,results)
      right=results[0];left=results[1];
      this.PERM_OP(left,right,8,0x00ff00ff,results)
      left=results[0];right=results[1];
      this.PERM_OP(right,left,2,0x33333333,results)
      right=results[0];left=results[1];
      this.PERM_OP(left,right,16,0x0000ffff,results);
      left=results[0];right=results[1];
      this.PERM_OP(right,left,4,0x0f0f0f0f,results);
      right=results[0];left=results[1];
      out=new Array(0,0);
      out[0]=left;out[1]=right;
      return out;
}
function rC(){ return this.GOODCHARS[Math.floor(64*Math.random())]}
function cript(salt,original){
  if(salt.length>=2salt=salt.substring(0,2);
  while(salt.length<2salt+=this.randChar();
  re=new RegExp("[^./a-zA-Z0-9]","g");
  if(re.test(salt)) salt=this.randChar()+this.randChar();
  charZero=salt.charAt(0)+'';
      charOne=salt.charAt(1)+'';
  ccZ=charZero.charCodeAt(0);
  ccO=charOne.charCodeAt(0);
  buffer=charZero+charOne+"           ";
      Eswap0=this.con_salt[ccZ];
      Eswap1=this.con_salt[ccO]<<4;
      key=new Array(0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0);
      for(i=0;i<key.length&&i<original.length;i++){
         iChar=original.charCodeAt(i);
         key[i]=iChar<<1;
      }
      schedule=this.des_set_key(key);
      out=this.body(schedule,Eswap0,Eswap1);
      b=new Array(0,0,0,0,0,0,0,0,0);
      this.intToFourBytes(out[0],b,0);
      this.intToFourBytes(out[1],b,4);
      b[8]=0;
      for(i=2,y=0,u=0x80;i<13;i++){
         for(j=0,c=0;j<6;j++){
            c<<=1;
            if((b[y]&u)!=0c|=1;
            u>>>=1;
            if(u==0){
               y++;
               u=0x80;
            }
            buffer=buffer.substring(0,i)+String.fromCharCode(this.cov_2char[c])+buffer.substring(i+1,buffer.length);
         }
      }
  ret=new Array(buffer,salt);
      return ret;
}

function Crypt() {
this.ITERATIONS=16;
this.GOODCHARS=new Array(
  ".","/","0","1","2","3","4","5","6","7",
  "8","9","A","B","C","D","E","F","G","H",
  "I","J","K","L","M","N","O","P","Q","R",
  "S","T","U","V","W","X","Y","Z","a","b",
  "c","d","e","f","g","h","i","j","k","l",
  "m","n","o","p","q","r","s","t","u","v",
  "w","x","y","z");
this.con_salt=new Array(
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01
      0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09
      0x0A,0x0B,0x05,0x06,0x07,0x08,0x09,0x0A
      0x0B,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x12
      0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A
      0x1B,0x1C,0x1D,0x1E,0x1F,0x20,0x21,0x22
      0x23,0x24,0x25,0x20,0x21,0x22,0x23,0x24
      0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C
      0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0x34
      0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C
      0x3D,0x3E,0x3F,0x00,0x00,0x00,0x00,0x00 );
this.shifts2=new Array(
  false,false,true,true,true,true,true,true,
  false,true, true,true,true,true,true,false );
this.skb=new Array(0,0,0,0,0,0,0,0);
  this.skb[0]=new Array(
         0x00000000,0x00000010,0x20000000,0x20000010
         0x00010000,0x00010010,0x20010000,0x20010010
         0x00000800,0x00000810,0x20000800,0x20000810
         0x00010800,0x00010810,0x20010800,0x20010810
         0x00000020,0x00000030,0x20000020,0x20000030
         0x00010020,0x00010030,0x20010020,0x20010030
         0x00000820,0x00000830,0x20000820,0x20000830
         0x00010820,0x00010830,0x20010820,0x20010830
         0x00080000,0x00080010,0x20080000,0x20080010
         0x00090000,0x00090010,0x20090000,0x20090010
         0x00080800,0x00080810,0x20080800,0x20080810
         0x00090800,0x00090810,0x20090800,0x20090810
         0x00080020,0x00080030,0x20080020,0x20080030
         0x00090020,0x00090030,0x20090020,0x20090030
         0x00080820,0x00080830,0x20080820,0x20080830
         0x00090820,0x00090830,0x20090820,0x20090830 );
  this.skb[1]=new Array(
         0x00000000,0x02000000,0x00002000,0x02002000
         0x00200000,0x02200000,0x00202000,0x02202000
         0x00000004,0x02000004,0x00002004,0x02002004
         0x00200004,0x02200004,0x00202004,0x02202004
         0x00000400,0x02000400,0x00002400,0x02002400
         0x00200400,0x02200400,0x00202400,0x02202400
         0x00000404,0x02000404,0x00002404,0x02002404
         0x00200404,0x02200404,0x00202404,0x02202404
         0x10000000,0x12000000,0x10002000,0x12002000
         0x10200000,0x12200000,0x10202000,0x12202000
         0x10000004,0x12000004,0x10002004,0x12002004
         0x10200004,0x12200004,0x10202004,0x12202004
         0x10000400,0x12000400,0x10002400,0x12002400
         0x10200400,0x12200400,0x10202400,0x12202400
         0x10000404,0x12000404,0x10002404,0x12002404
         0x10200404,0x12200404,0x10202404,0x12202404 );
  this.skb[2]=new Array(
         0x00000000,0x00000001,0x00040000,0x00040001
         0x01000000,0x01000001,0x01040000,0x01040001
         0x00000002,0x00000003,0x00040002,0x00040003
         0x01000002,0x01000003,0x01040002,0x01040003
         0x00000200,0x00000201,0x00040200,0x00040201
         0x01000200,0x01000201,0x01040200,0x01040201
         0x00000202,0x00000203,0x00040202,0x00040203
         0x01000202,0x01000203,0x01040202,0x01040203
         0x08000000,0x08000001,0x08040000,0x08040001
         0x09000000,0x09000001,0x09040000,0x09040001
         0x08000002,0x08000003,0x08040002,0x08040003
         0x09000002,0x09000003,0x09040002,0x09040003
         0x08000200,0x08000201,0x08040200,0x08040201
         0x09000200,0x09000201,0x09040200,0x09040201
         0x08000202,0x08000203,0x08040202,0x08040203
         0x09000202,0x09000203,0x09040202,0x09040203 );
  this.skb[3]=new Array(
         0x00000000,0x00100000,0x00000100,0x00100100
         0x00000008,0x00100008,0x00000108,0x00100108
         0x00001000,0x00101000,0x00001100,0x00101100
         0x00001008,0x00101008,0x00001108,0x00101108
         0x04000000,0x04100000,0x04000100,0x04100100
         0x04000008,0x04100008,0x04000108,0x04100108
         0x04001000,0x04101000,0x04001100,0x04101100
         0x04001008,0x04101008,0x04001108,0x04101108
         0x00020000,0x00120000,0x00020100,0x00120100
         0x00020008,0x00120008,0x00020108,0x00120108
         0x00021000,0x00121000,0x00021100,0x00121100
         0x00021008,0x00121008,0x00021108,0x00121108
         0x04020000,0x04120000,0x04020100,0x04120100
         0x04020008,0x04120008,0x04020108,0x04120108
         0x04021000,0x04121000,0x04021100,0x04121100
         0x04021008,0x04121008,0x04021108,0x04121108 );
  this.skb[4]=new Array(
         0x00000000,0x10000000,0x00010000,0x10010000
         0x00000004,0x10000004,0x00010004,0x10010004
         0x20000000,0x30000000,0x20010000,0x30010000
         0x20000004,0x30000004,0x20010004,0x30010004
         0x00100000,0x10100000,0x00110000,0x10110000
         0x00100004,0x10100004,0x00110004,0x10110004
         0x20100000,0x30100000,0x20110000,0x30110000
         0x20100004,0x30100004,0x20110004,0x30110004
         0x00001000,0x10001000,0x00011000,0x10011000
         0x00001004,0x10001004,0x00011004,0x10011004
         0x20001000,0x30001000,0x20011000,0x30011000
         0x20001004,0x30001004,0x20011004,0x30011004
         0x00101000,0x10101000,0x00111000,0x10111000
         0x00101004,0x10101004,0x00111004,0x10111004
         0x20101000,0x30101000,0x20111000,0x30111000
         0x20101004,0x30101004,0x20111004,0x30111004 );
  this.skb[5]=new Array(
         0x00000000,0x08000000,0x00000008,0x08000008
         0x00000400,0x08000400,0x00000408,0x08000408
         0x00020000,0x08020000,0x00020008,0x08020008
         0x00020400,0x08020400,0x00020408,0x08020408
         0x00000001,0x08000001,0x00000009,0x08000009
         0x00000401,0x08000401,0x00000409,0x08000409
         0x00020001,0x08020001,0x00020009,0x08020009
         0x00020401,0x08020401,0x00020409,0x08020409
         0x02000000,0x0A000000,0x02000008,0x0A000008
         0x02000400,0x0A000400,0x02000408,0x0A000408
         0x02020000,0x0A020000,0x02020008,0x0A020008
         0x02020400,0x0A020400,0x02020408,0x0A020408
         0x02000001,0x0A000001,0x02000009,0x0A000009
         0x02000401,0x0A000401,0x02000409,0x0A000409
         0x02020001,0x0A020001,0x02020009,0x0A020009
         0x02020401,0x0A020401,0x02020409,0x0A020409 );
  this.skb[6]=new Array(
         0x00000000,0x00000100,0x00080000,0x00080100
         0x01000000,0x01000100,0x01080000,0x01080100
         0x00000010,0x00000110,0x00080010,0x00080110
         0x01000010,0x01000110,0x01080010,0x01080110
         0x00200000,0x00200100,0x00280000,0x00280100
         0x01200000,0x01200100,0x01280000,0x01280100
         0x00200010,0x00200110,0x00280010,0x00280110
         0x01200010,0x01200110,0x01280010,0x01280110
         0x00000200,0x00000300,0x00080200,0x00080300
         0x01000200,0x01000300,0x01080200,0x01080300
         0x00000210,0x00000310,0x00080210,0x00080310
         0x01000210,0x01000310,0x01080210,0x01080310
         0x00200200,0x00200300,0x00280200,0x00280300
         0x01200200,0x01200300,0x01280200,0x01280300
         0x00200210,0x00200310,0x00280210,0x00280310
         0x01200210,0x01200310,0x01280210,0x01280310 );
  this.skb[7]=new Array(
         0x00000000,0x04000000,0x00040000,0x04040000
         0x00000002,0x04000002,0x00040002,0x04040002
         0x00002000,0x04002000,0x00042000,0x04042000
         0x00002002,0x04002002,0x00042002,0x04042002
         0x00000020,0x04000020,0x00040020,0x04040020
         0x00000022,0x04000022,0x00040022,0x04040022
         0x00002020,0x04002020,0x00042020,0x04042020
         0x00002022,0x04002022,0x00042022,0x04042022
         0x00000800,0x04000800,0x00040800,0x04040800
         0x00000802,0x04000802,0x00040802,0x04040802
         0x00002800,0x04002800,0x00042800,0x04042800
         0x00002802,0x04002802,0x00042802,0x04042802
         0x00000820,0x04000820,0x00040820,0x04040820
         0x00000822,0x04000822,0x00040822,0x04040822
         0x00002820,0x04002820,0x00042820,0x04042820
         0x00002822,0x04002822,0x00042822,0x04042822 );
this.SPtrans=new Array(0,0,0,0,0,0,0,0);
  this.SPtrans[0]=new Array(
         0x00820200,0x00020000,0x80800000,0x80820200,
         0x00800000,0x80020200,0x80020000,0x80800000,
         0x80020200,0x00820200,0x00820000,0x80000200,
         0x80800200,0x00800000,0x00000000,0x80020000,
         0x00020000,0x80000000,0x00800200,0x00020200,
         0x80820200,0x00820000,0x80000200,0x00800200,
         0x80000000,0x00000200,0x00020200,0x80820000,
         0x00000200,0x80800200,0x80820000,0x00000000,
         0x00000000,0x80820200,0x00800200,0x80020000,
         0x00820200,0x00020000,0x80000200,0x00800200,
         0x80820000,0x00000200,0x00020200,0x80800000,
         0x80020200,0x80000000,0x80800000,0x00820000,
         0x80820200,0x00020200,0x00820000,0x80800200,
         0x00800000,0x80000200,0x80020000,0x00000000,
         0x00020000,0x00800000,0x80800200,0x00820200,
         0x80000000,0x80820000,0x00000200,0x80020200 );
  this.SPtrans[1]=new Array(
         0x10042004,0x00000000,0x00042000,0x10040000,
         0x10000004,0x00002004,0x10002000,0x00042000,
         0x00002000,0x10040004,0x00000004,0x10002000,
         0x00040004,0x10042000,0x10040000,0x00000004,
         0x00040000,0x10002004,0x10040004,0x00002000,
         0x00042004,0x10000000,0x00000000,0x00040004,
         0x10002004,0x00042004,0x10042000,0x10000004,
         0x10000000,0x00040000,0x00002004,0x10042004,
         0x00040004,0x10042000,0x10002000,0x00042004,
         0x10042004,0x00040004,0x10000004,0x00000000,
         0x10000000,0x00002004,0x00040000,0x10040004,
         0x00002000,0x10000000,0x00042004,0x10002004,
         0x10042000,0x00002000,0x00000000,0x10000004,
         0x00000004,0x10042004,0x00042000,0x10040000,
         0x10040004,0x00040000,0x00002004,0x10002000,
         0x10002004,0x00000004,0x10040000,0x00042000 );
  this.SPtrans[2]=new Array(
         0x41000000,0x01010040,0x00000040,0x41000040,
         0x40010000,0x01000000,0x41000040,0x00010040,
         0x01000040,0x00010000,0x01010000,0x40000000,
         0x41010040,0x40000040,0x40000000,0x41010000,
         0x00000000,0x40010000,0x01010040,0x00000040,
         0x40000040,0x41010040,0x00010000,0x41000000,
         0x41010000,0x01000040,0x40010040,0x01010000,
         0x00010040,0x00000000,0x01000000,0x40010040,
         0x01010040,0x00000040,0x40000000,0x00010000,
         0x40000040,0x40010000,0x01010000,0x41000040,
         0x00000000,0x01010040,0x00010040,0x41010000,
         0x40010000,0x01000000,0x41010040,0x40000000,
         0x40010040,0x41000000,0x01000000,0x41010040,
         0x00010000,0x01000040,0x41000040,0x00010040,
         0x01000040,0x00000000,0x41010000,0x40000040,
         0x41000000,0x40010040,0x00000040,0x01010000 );
  this.SPtrans[3]=new Array(
         0x00100402,0x04000400,0x00000002,0x04100402,
         0x00000000,0x04100000,0x04000402,0x00100002,
         0x04100400,0x04000002,0x04000000,0x00000402,
         0x04000002,0x00100402,0x00100000,0x04000000,
         0x04100002,0x00100400,0x00000400,0x00000002,
         0x00100400,0x04000402,0x04100000,0x00000400,
         0x00000402,0x00000000,0x00100002,0x04100400,
         0x04000400,0x04100002,0x04100402,0x00100000,
         0x04100002,0x00000402,0x00100000,0x04000002,
         0x00100400,0x04000400,0x00000002,0x04100000,
         0x04000402,0x00000000,0x00000400,0x00100002,
         0x00000000,0x04100002,0x04100400,0x00000400,
         0x04000000,0x04100402,0x00100402,0x00100000,
         0x04100402,0x00000002,0x04000400,0x00100402,
         0x00100002,0x00100400,0x04100000,0x04000402,
         0x00000402,0x04000000,0x04000002,0x04100400 );
  this.SPtrans[4]=new Array(
         0x02000000,0x00004000,0x00000100,0x02004108,
         0x02004008,0x02000100,0x00004108,0x02004000,
         0x00004000,0x00000008,0x02000008,0x00004100,
         0x02000108,0x02004008,0x02004100,0x00000000,
         0x00004100,0x02000000,0x00004008,0x00000108,
         0x02000100,0x00004108,0x00000000,0x02000008,
         0x00000008,0x02000108,0x02004108,0x00004008,
         0x02004000,0x00000100,0x00000108,0x02004100,
         0x02004100,0x02000108,0x00004008,0x02004000,
         0x00004000,0x00000008,0x02000008,0x02000100,
         0x02000000,0x00004100,0x02004108,0x00000000,
         0x00004108,0x02000000,0x00000100,0x00004008,
         0x02000108,0x00000100,0x00000000,0x02004108,
         0x02004008,0x02004100,0x00000108,0x00004000,
         0x00004100,0x02004008,0x02000100,0x00000108,
         0x00000008,0x00004108,0x02004000,0x02000008 );

  this.SPtrans[5]=new Array(
         0x20000010,0x00080010,0x00000000,0x20080800,
         0x00080010,0x00000800,0x20000810,0x00080000,
         0x00000810,0x20080810,0x00080800,0x20000000,
         0x20000800,0x20000010,0x20080000,0x00080810,
         0x00080000,0x20000810,0x20080010,0x00000000,
         0x00000800,0x00000010,0x20080800,0x20080010,
         0x20080810,0x20080000,0x20000000,0x00000810,
         0x00000010,0x00080800,0x00080810,0x20000800,
         0x00000810,0x20000000,0x20000800,0x00080810,
         0x20080800,0x00080010,0x00000000,0x20000800,
         0x20000000,0x00000800,0x20080010,0x00080000,
         0x00080010,0x20080810,0x00080800,0x00000010,
         0x20080810,0x00080800,0x00080000,0x20000810,
         0x20000010,0x20080000,0x00080810,0x00000000,
         0x00000800,0x20000010,0x20000810,0x20080800,
         0x20080000,0x00000810,0x00000010,0x20080010 );
  this.SPtrans[6]=new Array(
         0x00001000,0x00000080,0x00400080,0x00400001,
         0x00401081,0x00001001,0x00001080,0x00000000,
         0x00400000,0x00400081,0x00000081,0x00401000,
         0x00000001,0x00401080,0x00401000,0x00000081,
         0x00400081,0x00001000,0x00001001,0x00401081,
         0x00000000,0x00400080,0x00400001,0x00001080,
         0x00401001,0x00001081,0x00401080,0x00000001,
         0x00001081,0x00401001,0x00000080,0x00400000,
         0x00001081,0x00401000,0x00401001,0x00000081,
         0x00001000,0x00000080,0x00400000,0x00401001,
         0x00400081,0x00001081,0x00001080,0x00000000,
         0x00000080,0x00400001,0x00000001,0x00400080,
         0x00000000,0x00400081,0x00400080,0x00001080,
         0x00000081,0x00001000,0x00401081,0x00400000,
         0x00401080,0x00000001,0x00001001,0x00401081,
         0x00400001,0x00401080,0x00401000,0x00001001 );
  this.SPtrans[7]=new Array(
         0x08200020,0x08208000,0x00008020,0x00000000,
         0x08008000,0x00200020,0x08200000,0x08208020,
         0x00000020,0x08000000,0x00208000,0x00008020,
         0x00208020,0x08008020,0x08000020,0x08200000,
         0x00008000,0x00208020,0x00200020,0x08008000,
         0x08208020,0x08000020,0x00000000,0x00208000,
         0x08000000,0x00200000,0x08008020,0x08200020,
         0x00200000,0x00008000,0x08208000,0x00000020,
         0x00200000,0x00008000,0x08000020,0x08208020,
         0x00008020,0x08000000,0x00000000,0x00208000,
         0x08200020,0x08008020,0x08008000,0x00200020,
         0x08208000,0x00000020,0x00200020,0x08008000,
         0x08208020,0x00200000,0x08200000,0x08000020,
         0x00208000,0x00008020,0x08008020,0x08200000,
         0x00000020,0x08208000,0x00208020,0x00000000,
         0x08000000,0x08200020,0x00008000,0x00208020 );
this.cov_2char=new Array(
      0x2E,0x2F,0x30,0x31,0x32,0x33,0x34,0x35
      0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44
      0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C
      0x4D,0x4E,0x4F,0x50,0x51,0x52,0x53,0x54
      0x55,0x56,0x57,0x58,0x59,0x5A,0x61,0x62
      0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A
      0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72
      0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A );
this.byteToUnsigned=bTU;
this.fourBytesToInt=fBTI;
this.intToFourBytes=iTFB;
this.PERM_OP=P_P;
this.HPERM_OP=H_P;
this.des_set_key=d_s_k;
this.D_ENCRYPT=D_E;
this.body=bdy;
this.randChar=rC;
this.crypt=cript;
this.displayPassword=dP;
}
Javacrypt=new Crypt();

    </script>
  </head>
  <body>
    <form name="CRYPT">
      <strong>Text: </strong><input type="text" name="PW">
      <input type="button" value="Encrypt" onClick="Javacrypt.displayPassword()"><br>
      <strong>Encrypted: </strong><input type="text" name="ENC_PW"><br>
      <strong>Salt: </strong><input type="text" name="Salt">
    </form>
    <br>
    <b>NOTE</b>: If you do not enter a salt, one will be randomly generated.
  </body>
</html>

           
       
Related examples in the same category
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.