亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? blowfishcipher.java

?? 一個木馬程序源碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* *   File:  BlowfishCipher.java * *   The Blowfish symmetric encryption algorithm, created by Bruce Schneier. *   64-bit (8 byte) block cipher. *   Does not work (not tested) on message sizes over 2 billion bits long. * *   version 1.02 v1a *   Copyright 1998, 1999 by Hush Communications Corporation, BWI */package hushcode;import java.util.Random;final class BlowfishCipher{   private int[]      S0 = new int[256],      S1 = new int[256],      S2 = new int[256],      S3 = new int[256],      P  = new int[18];   private int      P0, P1, P2, P3, P4, P5, P6, P7, P8, P9,      P10, P11, P12, P13, P14, P15, P16, P17;   BlowfishCipher() {  }   // Set key of this BlowfishCipher from a String   void setKey(String skey)   {      byte[] key = new byte[skey.length()];      skey.getBytes(0, skey.length(), key, 0);      setKey(key);   }   // Set key of this BlowfishCipher from a byte array   void setKey(byte[] key)   {      int i, j, k, l, len = key.length;      int[]    Ptemp = {0, 0};      int[][]  Stemp = {S0, S1, S2, S3};      System.arraycopy(Pinit, 0, P, 0, 18);      for(i = 0, j = 0; j < 4; i += 256, j++)         System.arraycopy(Sinit, i, Stemp[j], 0, 256);      // Generate the P-values for this key      for (i = 0, j = 0, l = 0; i < 18; P[i++] ^= l)         for (k = 0; k < 4; k++, j++)            l = (l << 8) | (key[j %= len] & 0xff);      encrypt(Ptemp, 0, P, 0);      for (i = 0; i < 16; i += 2) encrypt(P, i, P, i + 2);      // Get rid of the slow P-array (ugly, but faster)..      P0    = P[ 0];    P1    = P[ 1];    P2    = P[ 2];    P3    = P[ 3];      P4    = P[ 4];    P5    = P[ 5];    P6    = P[ 6];    P7    = P[ 7];      P8    = P[ 8];    P9    = P[ 9];    P10   = P[10];    P11   = P[11];      P12   = P[12];    P13   = P[13];    P14   = P[14];    P15   = P[15];      P16   = P[16];    P17   = P[17];      // Generate the final S-values      S0[0] = P16; S0[1] = P17;      k = 0; l = 0;      for(i = 0; i < 4; i++)         for (j = 0; j < 256; k = i, l = j, j += 2)            encrypt(Stemp[k], l, Stemp[i], j);   }   // Encrypt two integers, not optimized, used by the setKey() method.   private void encrypt(int in[], int inOff, int[] out, int outOff)   {      int L = in[inOff++] ^ P[0], R = in[inOff], i = 0;      while(i < 16)  {         R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P[++i];         L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P[++i];      }              out[outOff++] = R ^ P[17];      out[outOff  ] = L;   }   /**    * This method accepts a string and returns an array    * of bytes encrypted by CBC Blowfish.    */   byte[] stringEncrypt(String inString)   {      byte[] returnBytes = encrypt(inString.getBytes());      return returnBytes;   }   /**    * This method accepts a byte array and returns an array    * of bytes encrypted by CBC Blowfish.    *    *  Pad using PK1 and leave space for the initializationi vector.???    */   byte[] encrypt(byte[] bytes)   {      int leftoverspace = 8 - (bytes.length%8);       byte[] inBytes = new byte[bytes.length + leftoverspace + 8];      for (int n=bytes.length+8;n<bytes.length+leftoverspace+8;n++)         inBytes[n]=(byte)leftoverspace;          /* Set a 64 bit initialization vector       */      Random rand = new Random();      byte[] iv = new byte[8];      rand.nextBytes(iv);         System.arraycopy(iv, 0, inBytes, 0, 8);      // Copy in plain text      System.arraycopy(bytes, 0, inBytes, 8, bytes.length);      /* encrypt       * including CBC with initialization vector.       * For no good reason we also encrypt the initialization vector       */      byte[] outBytes = new byte[inBytes.length];      encrypt(inBytes, 0, outBytes, 0);      for (int xx=8;xx<16;xx++)         inBytes[xx]^=inBytes[xx-8];      encrypt(inBytes,8,outBytes,8);      for (int x=16;x<inBytes.length;x=x+8)       {         for (int xx=0; xx<8; xx++)            inBytes[x+xx] ^= outBytes[x+xx-8];          encrypt(inBytes, x, outBytes, x);      }      return outBytes;   }    /**    * This method accepts an array of bytes     * encrypted by CBC Blowfish and returns a string.    */   String stringDecrypt(byte[] inBytes)   {      String outString = new String(decrypt(inBytes));      return outString;   }   /**    * This method accepts an array of bytes     * encrypted by CBC Blowfish and returns a string.    */   byte[] decrypt(byte[] inBytes)   {      byte[] outBytes = new byte[inBytes.length];      decrypt(inBytes,0,outBytes,0);      decrypt(inBytes,8,outBytes,8);      for (int xx=0; xx<8; xx++)         outBytes[8+xx]^=outBytes[xx];      for (int x=16; x<inBytes.length; x=x+8)       {         decrypt(inBytes,x,outBytes,x);         for (int xx=0; xx<8; xx++)            outBytes[x+xx] ^= inBytes[x+xx-8];        }      //  Remove padding and initialization vector;      int leftoverspace = outBytes[outBytes.length-1];      byte[] bytes = new byte[outBytes.length-(leftoverspace+8)];      System.arraycopy(outBytes, 8, bytes, 0, bytes.length);       return bytes;   }   // Encrypt a block of eight bytes as fast as possible ..   void encrypt (byte[] in, int off, byte[] out, int outOff)   {      int L = (((in[off++] & 0xff) << 24)    | ((in[off++] & 0xff) << 16) |               ((in[off++] & 0xff) <<  8)    |  (in[off++] & 0xff) ) ^ P0 ,          R =  ((in[off++] & 0xff) << 24)    | ((in[off++] & 0xff) << 16) |               ((in[off++] & 0xff) <<  8)    |  (in[off  ] & 0xff);      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P1;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P2;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P3;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P4;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P5;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P6;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P7;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P8;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P9;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P10;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P11;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P12;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P13;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P14;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P15;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P16;      R ^= P17;      out[outOff++] = (byte)((R >>> 24) & 0xff);      out[outOff++] = (byte)((R >>> 16) & 0xff);      out[outOff++] = (byte)((R >>>  8) & 0xff);      out[outOff++] = (byte)( R         & 0xff);      out[outOff++] = (byte)((L >>> 24) & 0xff);      out[outOff++] = (byte)((L >>> 16) & 0xff);      out[outOff++] = (byte)((L >>>  8) & 0xff);      out[outOff  ] = (byte)( L         & 0xff);   }   // Decrypt a block of eight bytes   void decrypt (byte[] in, int off, byte[] out, int outOff)   {      int L = (((in[off++] & 0xff) << 24) | ((in[off++] & 0xff) << 16) |               ((in[off++] & 0xff) <<  8) |  (in[off++] & 0xff) ) ^ P17,          R =  ((in[off++] & 0xff) << 24) | ((in[off++] & 0xff) << 16) |               ((in[off++] & 0xff) <<  8) |  (in[off  ] & 0xff);      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P16;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P15;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P14;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P13;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P12;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P11;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P10;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P9;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P8;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P7;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P6;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P5;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P4;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P3;      R ^= (((S0[(L>>>24)&0xff]+S1[(L>>>16)&0xff])^S2[(L>>>8)&0xff])+S3[L&0xff])^P2;      L ^= (((S0[(R>>>24)&0xff]+S1[(R>>>16)&0xff])^S2[(R>>>8)&0xff])+S3[R&0xff])^P1;      R ^= P0;      out[outOff++] = (byte)((R >>> 24)    & 0xff);      out[outOff++] = (byte)((R >>> 16)    & 0xff);      out[outOff++] = (byte)((R >>>  8)    & 0xff);      out[outOff++] = (byte)( R            & 0xff);      out[outOff++] = (byte)((L >>> 24)    & 0xff);      out[outOff++] = (byte)((L >>> 16)    & 0xff);      out[outOff++] = (byte)((L >>>  8)    & 0xff);      out[outOff  ] = (byte)( L            & 0xff);   }   private static final int[]      Pinit = {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久噜噜噜久噜久久综合| 亚州成人在线电影| 亚洲一区二区免费视频| 久久97超碰色| 欧美伊人久久大香线蕉综合69| 久久久久久免费网| 日本成人在线不卡视频| 97精品电影院| 亚洲国产精品黑人久久久| 奇米精品一区二区三区在线观看一 | 欧美日韩日日夜夜| 亚洲欧美综合另类在线卡通| 国产麻豆精品theporn| 欧美一区日韩一区| 婷婷久久综合九色国产成人| 色综合视频一区二区三区高清| 欧美极品少妇xxxxⅹ高跟鞋| 精品一区二区在线免费观看| 日韩一级片在线观看| 亚洲电影一级片| 色欧美片视频在线观看在线视频| 亚洲国产精品二十页| 国产一区二区网址| 亚洲精品在线三区| 久久se这里有精品| 日韩欧美一区二区久久婷婷| 三级一区在线视频先锋| 欧美丰满美乳xxx高潮www| 亚洲成在人线免费| 欧美日韩一区二区三区视频| 亚洲 欧美综合在线网络| 欧美色欧美亚洲另类二区| 亚洲18影院在线观看| 911精品国产一区二区在线| 日本va欧美va精品发布| 欧美zozozo| 丁香一区二区三区| 一区二区不卡在线播放| 欧美日韩三级视频| 久久99热99| 国产人久久人人人人爽| 99国产一区二区三精品乱码| 夜夜精品浪潮av一区二区三区| 欧美人狂配大交3d怪物一区| 麻豆成人av在线| 国产日韩欧美在线一区| 99精品视频一区二区| 一区二区三区久久| 日韩视频免费观看高清完整版| 国产在线不卡一区| 亚洲天堂中文字幕| 欧美日韩在线一区二区| 国内精品视频666| 亚洲欧美日韩小说| 日韩一区二区三区免费看 | 99热国产精品| 亚洲综合激情网| 精品日韩一区二区三区| 成人av综合一区| 日韩精彩视频在线观看| 中文无字幕一区二区三区 | 26uuu另类欧美| 成人一级黄色片| 亚洲不卡在线观看| 国产免费观看久久| 欧美高清精品3d| 成人av网站在线观看免费| 午夜久久福利影院| 欧美激情一区二区三区蜜桃视频 | 亚洲图片欧美综合| 国产日韩v精品一区二区| 欧美日韩成人在线| 丁香天五香天堂综合| 日韩精品国产欧美| 亚洲欧美日韩系列| 国产亚洲精品资源在线26u| 欧美午夜理伦三级在线观看| 国产成人精品免费| 日本vs亚洲vs韩国一区三区二区 | 亚洲图片欧美激情| 久久久一区二区三区| 欧美精品在线一区二区| 一本色道久久综合精品竹菊| 国产在线播精品第三| 日本一不卡视频| 亚洲一区二区三区视频在线播放| 久久久久久久综合狠狠综合| 欧美精品日韩综合在线| 91免费国产在线观看| 国产一区二区视频在线| 日韩av高清在线观看| 一区二区免费视频| 亚洲精品伦理在线| 中文字幕亚洲欧美在线不卡| 久久久久国产精品麻豆 | 欧美日韩国产123区| 99热国产精品| 成人av小说网| 国产福利一区二区三区| 韩国av一区二区| 蜜桃av一区二区在线观看 | 精品美女在线播放| 6080午夜不卡| 精品视频1区2区3区| 欧美日韩综合不卡| 欧美视频你懂的| 精品视频1区2区| 欧美日韩一本到| 欧美久久久久久蜜桃| 欧美三级视频在线播放| 欧美日韩精品一区视频| 在线观看91视频| 欧美三级中文字| 欧美三级在线视频| 欧美精品高清视频| 91精品国产91久久久久久一区二区 | 色哟哟亚洲精品| 在线观看视频欧美| 在线播放一区二区三区| 日韩欧美国产综合| 久久免费电影网| 国产精品天美传媒| 亚洲精品videosex极品| 亚洲线精品一区二区三区八戒| 亚洲成人激情综合网| 免费在线观看一区二区三区| 久久草av在线| 波多野结衣中文字幕一区| 波多野结衣在线一区| 在线观看中文字幕不卡| 欧美一级二级三级蜜桃| 久久久五月婷婷| 亚洲日本在线a| 亚洲aaa精品| 国产精品99久久久| 在线精品视频一区二区三四| 91精品国产91综合久久蜜臀| 国产欧美日本一区视频| 亚洲欧美乱综合| 久久99精品久久久久久国产越南| 丁香六月综合激情| 欧美狂野另类xxxxoooo| 国产网站一区二区| 一区二区三区在线高清| 美国av一区二区| 99国内精品久久| 日韩精品一区二区三区四区| 欧美国产亚洲另类动漫| 午夜国产精品影院在线观看| 国产精品伊人色| 欧美日韩一级黄| 国产精品九色蝌蚪自拍| 日韩av电影免费观看高清完整版在线观看| 国产美女精品一区二区三区| 欧洲生活片亚洲生活在线观看| 久久免费国产精品| 午夜婷婷国产麻豆精品| av网站免费线看精品| 精品国产一区二区亚洲人成毛片| 中文字幕佐山爱一区二区免费| 日韩国产欧美在线观看| 一本大道久久a久久综合婷婷 | 亚洲免费av在线| 国内精品久久久久影院一蜜桃| 欧美影院一区二区| 国产精品女同一区二区三区| 日韩av一二三| 欧美亚洲一区二区三区四区| 国产欧美一区在线| 久久国产精品一区二区| 欧美男生操女生| 一区二区三区欧美久久| 成人精品国产福利| 337p粉嫩大胆色噜噜噜噜亚洲 | 丁香婷婷综合色啪| 欧美成人艳星乳罩| 婷婷久久综合九色综合伊人色| 99国产精品久久久久| 久久久久久久综合| 麻豆免费精品视频| 91精品中文字幕一区二区三区| 一区二区三区日韩精品视频| 成人国产视频在线观看| 国产欧美日韩三区| 国产精品一二三在| 国产三级精品三级在线专区| 国产在线播精品第三| 欧美成人官网二区| 青草av.久久免费一区| 91精品国产综合久久久久久久| 午夜精品福利在线| 欧美日韩精品免费观看视频| 亚洲一二三四在线| 在线日韩国产精品| 亚洲高清在线精品| 91精品免费观看| 日本欧美肥老太交大片| 日韩小视频在线观看专区| 另类人妖一区二区av| 精品播放一区二区|