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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? connection.java

?? 一個(gè)木馬程序源碼
?? JAVA
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
        for (int y=0;y<numberOfAddresses;y++)	{                    if (addressesArray[y].indexOf("@"+domain)==addressesArray[y].length()-("@"+domain).length() && recipients[x].regionMatches(0,addressesArray[y],0,addressesArray[y].indexOf("@")))	  {            String fingerprintReceived = Conversions.bytesToHexString(new HushSHA1().SHA1Hash(Conversions.hexStringToBytes(pubKeys[x])));            if (!fingerprints(y).equals(fingerprintReceived))	    {              hushApplet.statusBar(spaces+"Bad public key for "+recipients[x]+spaces);              return false;            }          }        }      }    }     /*  Encrypt the body with a randomly generated       *  Blowfish key and append SHA1 Hash      */    byte[] bodyKey = new byte[16];    randStream.nextBytes(bodyKey);    BlowfishCipher bodyCipher = new BlowfishCipher();    bodyCipher.setKey(bodyKey);    hushApplet.statusBar(spaces+"Encrypting message body"+spaces);    body = wrap("----- HushMail v1.0 -----\n"+      Conversions.bytesToHexString(bodyCipher.stringEncrypt(body)) +       "\n-" + Conversions.bytesToHexString(new HushSHA1().SHA1Hash(body)) +       "\n----- End -----\n",false,false);    hushApplet.statusBar(spaces+"Body encrypted"+spaces);    /*  Concatenate the body key and a SHA1Hash of the body key into one array     */         byte[] bodyHash = new HushSHA1().SHA1Hash(bodyKey);    byte[] bodyKeyAndHash = new byte[bodyKey.length+bodyHash.length];    System.arraycopy(bodyKey,0,bodyKeyAndHash,0,bodyKey.length);    System.arraycopy(bodyHash,0,bodyKeyAndHash,bodyKey.length,bodyHash.length);    for (int x=0;x<recipients.length;x++)    {      String encryption = "Hush-encryption: ";      if (recipients[x].equals(username)||recipients[x].equals("/self/"))      {           /*  If recipient is self	   *  Blowfish the body key  using the users passphrase           */          encryption = encryption + "Hush Private 1.0\n";          encryption = encryption + wrap("Hush-keyblock: " +             Conversions.bytesToHexString(passCipher.encrypt(bodyKeyAndHash)), false, true) + "\n";      }       else      {        hushApplet.statusBar(spaces+"Encrypting to "+recipients[x]+spaces);        ElGamalCipher pubKeyCipher = new ElGamalCipher();        pubKeyCipher.setRandomStream(randStream);        pubKeyCipher.setPublicKey(Conversions.hexStringToBytes(pubKeys[x]));        encryption = encryption + "Hush Public 1.0\n";        encryption = encryption + wrap("Hush-keyblock: " +           Conversions.bytesToHexString(pubKeyCipher.hushEncrypt(bodyKeyAndHash,bodyKeyAndHash.length)),           false, true) + "\n";      }      String message = new String(headers[x]+encryption+"\n"+body);            if (save || recipients[x].equals("/self/"))      {        hushApplet.statusBar(spaces+"Saving copy in '"+saveFolder+"'"+spaces);        encryptAndWrite("SAVEMESSAGE\n"+saveFolder+"\n"+String.valueOf(message.length())+"\n"+message);        readAndDecrypt();        if (!in.readLine().equals("OK")) throw new IOException();             }      else      {        hushApplet.statusBar(spaces+"Sending message"+spaces);        encryptAndWrite("SENDMESSAGE\n"+String.valueOf(message.length())+"\n"+message);        readAndDecrypt();        if (!in.readLine().equals("OK")) throw new IOException();             }    }    return true;  }  /**   *  Retrieves address information from server:   *    numberOfAddresses set to number of addresses in    *         addressbook.   *    The variables nicknameArray, fullnameArray,    *       and addressesArray, are set to appropriate values   *           from addressbook on server   */  void getAddresses() throws IOException  {    encryptAndWrite("GETADDRESSES\n");    readAndDecrypt();    if (!in.readLine().equals("OK")) throw new IOException();           numberOfAddresses = Integer.parseInt(in.readLine());    nicknameArray = new String[numberOfAddresses];    fullnameArray = new String[numberOfAddresses];    addressesArray = new String[numberOfAddresses];    fingerprintsArray = new String[numberOfAddresses];    for (int x=0;x<numberOfAddresses;x++)    {       nicknameArray[x] = in.readLine();      fullnameArray[x] = in.readLine();      addressesArray[x] = in.readLine();      fingerprintsArray[x] = in.readLine();    }  }  void deleteAddress(String passedNickname) throws IOException  {    encryptAndWrite("DELETEADDRESS\n"+passedNickname+"\n");    readAndDecrypt();    if (!in.readLine().equals("OK")) throw new IOException();         }  boolean addAddress(String passedNickname,String passedFullname,String passedAddress) throws IOException  {    passedFullname = passedFullname.replace('"','\'');    String fingerprint = "";    if ((passedAddress+"\n").indexOf("@"+domain+"\n")!=-1)    {      String newAddressUser = passedAddress.substring(0,passedAddress.indexOf("@"));      encryptAndWrite("GETPUBLICKEY\n"+newAddressUser);      readAndDecrypt();      if (!in.readLine().equals("OK")) throw new IOException();             String response=in.readLine();      if (response.equals("NOT APPROVED"))       {        hushApplet.statusBar(spaces+"No such HushMail user: "+newAddressUser+spaces);        return false;      }      else fingerprint=Conversions.bytesToHexString(new HushSHA1().SHA1Hash(Conversions.hexStringToBytes(in.readLine())));    }    encryptAndWrite("NEWADDRESS\n"+passedNickname+"\n"+passedFullname+"\n"+passedAddress+"\n"+fingerprint+"\n");        readAndDecrypt();    if (!in.readLine().equals("OK")) throw new IOException();           return true;  }  String linewrap(String inString, int linelength)  {    StringBuffer outStringBuf = new StringBuffer();    outStringBuf.ensureCapacity(inString.length()+inString.length()/linelength+2);    int place = 0;    for (int x=0;x<inString.length();x++)    {      outStringBuf.append(inString.substring(x,x+1));      if (inString.substring(x,x+1).equals("\n")) place=0;      else if (++place==linelength)      {        outStringBuf.append(inString.substring(x,x+1)+"\n");        place=0;       }    }    return outStringBuf.toString();  }  String wordwrap(String inString, int linelength)  {    StringBuffer outStringBuf = new StringBuffer();    outStringBuf.ensureCapacity(inString.length()+inString.length()/linelength+2);    int place = 0;    String line="";    for (int x=0;x<inString.length();x++)    {      line = line + inString.substring(x,x+1);      place++;      if (line.regionMatches(line.length()-1,"\n",0,1)) place=0;      else if (place>=linelength)      {         int lastSpace = line.lastIndexOf(' ');        if (lastSpace!=-1 && lastSpace!=0)        {          outStringBuf.append(line.substring(0,lastSpace)+"\n");          if (lastSpace==line.length()-1) line=" ";          else line=line.substring(lastSpace+1);          place=line.length();        }      }    }    return outStringBuf.toString();  }   String wrap(String inString, boolean isParagraph, boolean isHeader)  {   /**    *  This function wraps Strings longer then 72 characters    */    String space = "";    int resetPlace = 0;    if (isHeader)     {      space = " ";      resetPlace = 0;    }    String term = "\n";    StringBuffer outStringBuf = new StringBuffer();    outStringBuf.ensureCapacity(inString.length()*2);    int place = 0;    for (int x=0;x<inString.length();x++)    {      term = "\n";      if (x+1<inString.length() && inString.charAt(x+1)=='\n') term = "";      if (inString.charAt(x)=='\n')       {        outStringBuf.append("\n");        place=0;      }      else if (place==71 && !isParagraph)      {        outStringBuf.append(inString.charAt(x)+term+space);        place=resetPlace;       }      else if (place>=71 &&(inString.charAt(x)==','||inString.charAt(x)=='-'|| inString.charAt(x)==' '))      {        outStringBuf.append(inString.charAt(x)+term+space);        place=resetPlace;      }      else       {        outStringBuf.append(inString.charAt(x));        place++;      }    }    return outStringBuf.toString();  }      /**   *  This method should be called when a task requires    *  the use of the socket connection    */  boolean use() throws IOException  {    hushApplet.startBlinkingText();    if (initialUse)    {      /* Increment count of threads using socket       */      ++socketRequests;       s = new Socket(serverAddress,serverPort);      s.setSoTimeout(60000);      s.setTcpNoDelay(false);       out = new BufferedOutputStream(s.getOutputStream());      eIn = new BufferedInputStream(s.getInputStream());      /* Send sessionID to server, so that the server can find the sessionKey       */      out.write(sessionIDBytes);      /* Send username and half of hash of passphrase       */      encryptAndWrite("CONNECT\n"+username+"\n"+Conversions.bytesToHexString(halfPassphraseHash)+"\n");      /* Check for acceptance of username and passphrase       */      readAndDecrypt();      if (!in.readLine().equals("OK")) throw new IOException();              if (!in.readLine().equals("APPROVED"))      {        /*  Exit to "BadLogin" page         */        try         {          URL u = new URL(hushApplet.exitpage+"?action=BadLogin&username="+username());          hushApplet.getAppletContext().showDocument(u);        }          catch (MalformedURLException m) {System.out.println("MalformedURL");}            eIn.close();        out.close();        s.close();        return false;      }      String publicKey = in.readLine();      if (publicKey!=null) fingerprint = Conversions.bytesToHexString(new HushSHA1().SHA1Hash(Conversions.hexStringToBytes(publicKey)));      String encPrivKeyString = in.readLine();            if (encPrivKeyString!=null) encPrivKey = Conversions.hexStringToBytes(encPrivKeyString);      initialUse = false;    }    else    {      /* Execute only if no other threads are currently using the socket       */      if (++socketRequests==1)      {        s = new Socket(serverAddress,serverPort);        s.setSoTimeout(180000);        s.setTcpNoDelay(true);        out = new BufferedOutputStream(s.getOutputStream());        eIn = new BufferedInputStream(s.getInputStream());        /* Send sessionID to server, so that the server can find the sessionKey         */        out.write(sessionIDBytes);        encryptAndWrite("RECONNECT\n"+username+"\n");        /* Check for approval for continuation of session         */        readAndDecrypt();        if (!in.readLine().equals("OK")) throw new IOException();               if (!in.readLine().equals("APPROVED"))        {          try          {            URL u = new URL(hushApplet.exitpage+"?action=NotApproved&username="+username());            hushApplet.getAppletContext().showDocument(u);            hushApplet.removeAll();            hushApplet.paintAll(hushApplet.getGraphics());            wipeMessage();            killPassCipher();          }            catch (MalformedURLException m) {System.out.println("MalformedURL");}           eIn.close();          out.close();          s.close();          return false;        }      }    }    return true;  }  /**   *  This method should be called when a task using   *  the socket connection has been completed   */  void done()  {    hushApplet.stopBlinkingText();    if (s==null) return;    /* decrement count of threads using socket     * if count is zero then terminate the socket     */    if (--socketRequests==0)    {      try {        out.close();        eIn.close();        s.close();      } catch (IOException e1) {System.out.println("IOException");}    }  }  /*  This signals the server to delete the session record   *  and terminates the socket   */  void quit()  {    if (s==null) return;    try    {      encryptAndWrite("QUIT\n");      out.close();      eIn.close();      s.close();    } catch (IOException e1) {System.out.println("IOException");}  }  /**   *  This methods send the parameter string to the   *  server, calling appropriate encryption methods    *  and indicating the length.   */  private void encryptAndWrite(String output)  {    try    {    /* Send 16 bytes indicating the length of the output to follow     */      byte[] encOutputBytes = blowfishPipe.stringEncrypt(output);       int outLength = encOutputBytes.length;      out.write(blowfishPipe.encrypt(Conversions.intToBytes(outLength)));      out.write(encOutputBytes);      out.flush();	    } catch (IOException e) {System.out.println("IOException");}  }  /**   *  This method reads in a set of bytes from the server   *  calls appropriate decryption methods, and stores a resulting   *  string in a buffer for later access.   */  private void readAndDecrypt() throws IOException  {    /* read in 16 bytes indicating the length of the input to follow      */    byte lengthBytes[] = new byte[16];    int bytesRead = eIn.read(lengthBytes);    while (bytesRead<16) bytesRead=bytesRead+eIn.read(lengthBytes,bytesRead,16-bytesRead);          int inLength = Conversions.bytesToInt(blowfishPipe.decrypt(lengthBytes));    if (inLength==0) throw new IOException();    /* read and decrypt the requested number of bytes     */    byte[] eBuf = new byte[inLength];    bytesRead = eIn.read(eBuf);    while (bytesRead<inLength) bytesRead=bytesRead+eIn.read(eBuf,bytesRead,inLength-bytesRead);      String inString = blowfishPipe.stringDecrypt(eBuf);    byte[] trimmedBytes = new byte[inString.length()];    inString.getBytes(0,inString.length(),trimmedBytes,0);    in = new DataInputStream(new ByteArrayInputStream(trimmedBytes));  }   /**   * Variables and methods for a queue of bits   * intended to store random values for later access   */    ByteQueue randBytes = new ByteQueue();   void enqueueBit(long l, int bits)  {    randBytes.enqueueBits(l,bits);    if (randBytes.bytesAvailable()>0)    {      byte[] available = randBytes.dequeueBytes(randBytes.bytesAvailable());      randStream.enqueueBytes(available);    }  }}   //  end Connection.java

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人午夜片在线观看高清观看| 欧美精品在线一区二区| 国产91精品在线观看| 国产欧美精品一区aⅴ影院| 国产成人自拍网| 成人免费视频播放| 欧美日韩精品三区| 国产视频一区二区在线观看| 一本大道久久a久久精品综合| 一区二区高清免费观看影视大全| 日韩成人精品视频| 国产欧美综合在线观看第十页| 一级中文字幕一区二区| 国产欧美一区二区精品性| 欧美影院一区二区| 国产一区二区伦理片| 99视频在线精品| 久久国产人妖系列| 亚洲激情校园春色| 国产视频一区二区在线| 美国精品在线观看| 男女男精品网站| 一区二区三区加勒比av| 精品日韩欧美在线| 男女性色大片免费观看一区二区| xnxx国产精品| 欧美情侣在线播放| 99这里都是精品| 久久综合九色综合久久久精品综合| 成人av网站免费| 亚洲特黄一级片| 中文字幕亚洲视频| 91国偷自产一区二区三区成为亚洲经典 | 国产日韩一级二级三级| 欧美日韩一区小说| 色av成人天堂桃色av| 不卡的电视剧免费网站有什么| 人人爽香蕉精品| 欧美日韩国产一级片| 欧美在线视频全部完| 亚洲精品成人少妇| 亚洲综合色噜噜狠狠| 亚洲免费av观看| 一区二区三区四区中文字幕| caoporn国产精品| 国产婷婷一区二区| 欧美国产精品中文字幕| 国产精品初高中害羞小美女文| 成人激情综合网站| 99国产精品久久久久久久久久 | 捆绑变态av一区二区三区| 欧美在线色视频| 欧美自拍丝袜亚洲| 午夜在线成人av| 日本欧美一区二区在线观看| 欧美女孩性生活视频| 久久久影视传媒| 中文欧美字幕免费| 国产精品一区2区| yourporn久久国产精品| 亚洲人成7777| 亚洲电影你懂得| 日韩精品一区国产麻豆| 久久这里都是精品| 成人美女视频在线观看18| 午夜精品福利一区二区蜜股av | 久久亚洲欧美国产精品乐播 | 国产精品亚洲第一区在线暖暖韩国| 欧美激情一区二区三区| 国产精品理论片| 欧美色精品天天在线观看视频| 色悠久久久久综合欧美99| 日本韩国视频一区二区| 精品国产乱码久久久久久老虎| 国产高清不卡二三区| 在线免费精品视频| 成人午夜激情片| 欧美日韩国产小视频| 精品国产91久久久久久久妲己 | 综合分类小说区另类春色亚洲小说欧美 | 不卡av在线免费观看| 欧美日精品一区视频| 亚洲精品一区二区三区精华液| 欧美熟乱第一页| 精品一二线国产| 丰满少妇在线播放bd日韩电影| 日本中文字幕一区二区有限公司| 成人av在线一区二区| 日本免费新一区视频 | 欧美伊人久久久久久久久影院| 欧美成人国产一区二区| 亚洲伊人色欲综合网| 国产亚洲一区字幕| 国产麻豆成人传媒免费观看| 欧美日韩卡一卡二| 夜夜夜精品看看| 国产成人在线色| 国产精品白丝av| 亚洲国产精品v| 久久久99久久精品欧美| 精品美女一区二区| 婷婷久久综合九色综合绿巨人 | 日韩精品福利网| 91麻豆精品国产| 国产精品久久久久影院老司| 亚洲一级二级在线| 亚洲影视在线观看| 亚洲老司机在线| 最近中文字幕一区二区三区| 久久久久国产一区二区三区四区| 欧美成人高清电影在线| 久久久亚洲午夜电影| 国产成人在线电影| 国产精品国产三级国产| 国产成人免费视频| 成人国产精品免费观看视频| 亚洲欧洲一区二区在线播放| heyzo一本久久综合| 午夜精品在线看| 久久一留热品黄| 91麻豆免费看| 日韩黄色小视频| 精品福利av导航| 亚洲精品va在线观看| 日本亚洲一区二区| 久久免费的精品国产v∧| 丁香天五香天堂综合| 99国内精品久久| 毛片av中文字幕一区二区| 中文字幕亚洲一区二区va在线| 亚洲一区二区av在线| 亚洲成av人**亚洲成av**| 捆绑调教美女网站视频一区| 国产视频视频一区| 这里只有精品99re| 成人免费不卡视频| 五月天亚洲精品| 国产精品久久久久久久久久免费看| 欧美在线综合视频| 国产成人在线视频网址| 亚洲一区二区在线播放相泽| 精品影视av免费| 亚洲精品国产品国语在线app| 久久久五月婷婷| 欧美在线制服丝袜| 欧美国产精品久久| 欧美日韩在线观看一区二区| 亚洲精品一线二线三线| 亚洲精品免费在线| 26uuu精品一区二区三区四区在线| 日本一区二区成人| 日韩视频一区二区三区| 亚洲猫色日本管| 久久九九影视网| 蜜桃一区二区三区在线观看| 一区二区三区中文字幕| 成人自拍视频在线观看| 激情文学综合插| 91麻豆精品国产91| 91黄色免费网站| 日本高清视频一区二区| 国产乱子伦一区二区三区国色天香 | 一本大道久久精品懂色aⅴ| 美女任你摸久久| 欧美精品三级在线观看| 一本到不卡免费一区二区| 高清不卡一区二区在线| 国产一区在线观看视频| 久久久久九九视频| wwwwww.欧美系列| 国产免费观看久久| 91网站视频在线观看| 韩国在线一区二区| 欧美精选午夜久久久乱码6080| 97se狠狠狠综合亚洲狠狠| 久久精品一二三| 国产亚洲精品aa午夜观看| 精品国产精品一区二区夜夜嗨| 欧美日韩精品久久久| 91精品中文字幕一区二区三区| 日本精品视频一区二区| 亚洲综合免费观看高清完整版 | 毛片av中文字幕一区二区| 麻豆国产欧美一区二区三区| 午夜免费欧美电影| 蜜桃av一区二区三区电影| 精品国产99国产精品| 国产经典欧美精品| 国产精品日日摸夜夜摸av| 国产精品一区二区黑丝| 一区二区三区中文字幕电影| 中文字幕视频一区| 欧美在线观看视频一区二区 | 日本午夜精品视频在线观看| 麻豆一区二区在线| 中文字幕巨乱亚洲| 亚洲一区国产视频| 欧美一区二区视频网站| 国产精品九色蝌蚪自拍| 青青国产91久久久久久|