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

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

?? rc4cipher.java

?? RC4Cipher 經典的RC4Cipher加密解密算法源代碼
?? JAVA
字號:
package cipher;
import javax.swing.*;
/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2006</p>
 * <p>Company: </p>
 * @author srt
 * @version 1.0
 */

public class RC4Cipher
    extends BaseCipher {

  private short[] sBox;
  private short[] keyBox;
  private short[] sKeyMatrix;
  private int[] i_sboxIndex;
  private int[] j_sboxIndex;

  RC4Cipher() {
    super();
    sBox = new short[256];
    keyBox = new short[256];
    sKeyMatrix = new short[4];
    i_sboxIndex = new int[1];
    j_sboxIndex = new int[1];
  }

  public int setKeyMatrix(int i, String sKey) { //讀密鑰
    short key;
    try {
      Integer.valueOf(sKey);
    }
    catch (NumberFormatException e) {
      String label = "萬分歉意!閣下輸入的加密參數不是整數,請重新輸入!";
      JOptionPane.showMessageDialog(null, label, "小郭襄的提醒",
                                    JOptionPane.ERROR_MESSAGE);
      return 0;
    }
    key = (short) Integer.parseInt(sKey);
    if (key > 255 || key < 0) {
      String label = "萬分歉意!閣下輸入的加密參數超過范圍,請重新輸入!";
      JOptionPane.showMessageDialog(null, label, "小郭襄的提醒",
                                    JOptionPane.ERROR_MESSAGE);
      return 0;
    }
    else {
      sKeyMatrix[i] = key;
    }
    return 1;
  }

  private void initialSBox() { //初始化SBox
    int i = 0;
    for (i = 0; i <= 255; i++) {
      sBox[i] = (short) i;
    }
  }

  private void initialKeyBox() { //初始化KeyBox
    int j = 0;
    for (int i = 0; i <= 255; i++) {
      keyBox[i] = sKeyMatrix[j % 4];
      j++;
    }
  }

  public String getSBox() { //讀取SBox內容
    String s = "";
    for (int i = 0; i < sBox.length; i++) {
      s += String.valueOf(i) + "     " + String.valueOf(sBox[i]) + '\n';
    }
    return s;
  }

  public String getKBox() { //讀取KeyBox內容
    String s = "";
    for (int i = 0; i < keyBox.length; i++) {
      s += String.valueOf(i) + "     " + String.valueOf(keyBox[i]) + '\n';
    }
    return s;
  }

  private void KSA() { //設置SBox的初始態S0
    int i = 0, j = 0;
    short temp;
    for (i = 0; i <= 255; i++) {
      j = (j + sBox[i] + keyBox[i]) % 256;
      temp = sBox[i];
      sBox[i] = sBox[j];
      sBox[j] = temp;
    }
  }

  public short psga(int[] i, int[] j) { //產生隨機2字節密鑰
    short temp, key;
    int t;
    i[0] = (i[0] + 1) % 256;
    j[0] = (j[0] + sBox[i[0]]) % 256;
    temp = sBox[i[0]];
    sBox[i[0]] = sBox[j[0]];
    sBox[j[0]] = temp;
    t = (sBox[i[0]] + sBox[j[0]]) % 256;
    key = sBox[t];
    //System.out.println(Integer.toBinaryString(key)+"   "+shortToBinary(key));
    return key;
  }

  public String getKeyStream(String keyStreamSize) { //獲得指定密鑰流大小的密鑰流
    int keyStreamSizeTemp;
    int index = 0;
    StringBuffer keyStreamTemp = new StringBuffer();
    try {
      Integer.valueOf(keyStreamSize);
    }
    catch (NumberFormatException e) {
      String label = "萬分歉意!閣下輸入的密鑰流大小不是整數,請重新輸入!";
      JOptionPane.showMessageDialog(null, label, "小郭襄的提醒",
                                    JOptionPane.ERROR_MESSAGE);
      return "";
    }
    keyStreamSizeTemp = Integer.parseInt(keyStreamSize);
    for (int k = 0; k < (keyStreamSizeTemp + 7) / 8; k++) {
      index++;
      keyStreamTemp.append(shortToBinary(psga(i_sboxIndex, j_sboxIndex)));
      if (index == 2) {
        keyStreamTemp.append('\n');
        index = 0;
      }
    }
    return keyStreamTemp.toString();
  }

  private String shortToBinary(short a) { //把shor型a轉化為其值的對應的二進制字符串
    StringBuffer sbtemp = new StringBuffer("00000000");
    String stemp = Integer.toBinaryString(a);
    sbtemp.setLength(8 - stemp.length());
    sbtemp.append(stemp);
    return sbtemp.toString();
  }

  public void initialKboxAndSbox() { //初始化KeyBox和SBox
    initialKeyBox();
    initialSBox();
    KSA();
  }

  private short BinaryStringToShort(String s) { //把二進制字符串轉化為對應的Short型的值
    double j = 7;
    short sum = 0;
    for (int i = 0; i < s.length(); i++) {
      if (s.charAt(i) == '1') {
        sum += (short) Math.pow(2.0, j);
      }
      j--;
    }
    return sum;
  }

  int decipher() {
    short CiphertextTemp;
    initialKboxAndSbox();
    StringBuffer sbPlaintext = new StringBuffer();
    i_sboxIndex[0] = 0;
    j_sboxIndex[0] = 0;
    for (int k = 0; k < sCiphertext.length(); k = k + 8) {
      CiphertextTemp = BinaryStringToShort(sCiphertext.substring(k, k + 8));
      CiphertextTemp = (short) (CiphertextTemp ^ psga(i_sboxIndex, j_sboxIndex));
      sbPlaintext.append( (char) CiphertextTemp);
    }
    sPlaintext = sbPlaintext.toString();
    return 1;
  }

  int encipher() {
    short temp;
    initialKboxAndSbox();
    StringBuffer sbCiphertext = new StringBuffer();
    i_sboxIndex[0] = 0;
    j_sboxIndex[0] = 0;
    for (int k = 0; k < sPlaintext.length(); k++) {
      temp = (short) (sPlaintext.charAt(k) ^ psga(i_sboxIndex, j_sboxIndex));
      sbCiphertext.append(shortToBinary(temp));
    }
    sCiphertext = sbCiphertext.toString();
    return 1;
  }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久一夜天堂av一区二区三区| 亚洲国产va精品久久久不卡综合| 成人欧美一区二区三区黑人麻豆| 一区二区三区在线观看国产| 狠狠色综合日日| 一本在线高清不卡dvd| 久久嫩草精品久久久精品一| 一二三四社区欧美黄| 国产1区2区3区精品美女| 欧美一区二区三区的| 中文字幕亚洲不卡| 国产乱人伦偷精品视频免下载 | 1024成人网| 狠狠色狠狠色综合日日91app| 一本大道久久a久久综合婷婷 | 国内精品第一页| 欧美日韩一区二区三区高清| 中文无字幕一区二区三区| 蜜臀av亚洲一区中文字幕| 色婷婷av久久久久久久| 久久久久97国产精华液好用吗| 午夜亚洲福利老司机| 91在线视频在线| 欧美激情在线看| 国产麻豆视频一区二区| 精品久久久久久久人人人人传媒 | 欧美丰满一区二区免费视频| 亚洲免费在线电影| 91美女视频网站| 国产精品嫩草久久久久| 成人福利电影精品一区二区在线观看 | 成人毛片在线观看| 久久网站最新地址| 国产乱淫av一区二区三区| 精品国产在天天线2019| 麻豆久久久久久| 日韩三级视频在线看| 日本aⅴ精品一区二区三区 | 欧美色图第一页| 一区二区三区不卡在线观看 | 精品国产三级电影在线观看| 久久狠狠亚洲综合| 久久综合色综合88| 国产丶欧美丶日本不卡视频| 中文字幕精品—区二区四季| 波波电影院一区二区三区| 1024成人网色www| 91成人国产精品| 午夜久久久久久久久| 91麻豆精品国产| 久久精品国产亚洲a| 国产目拍亚洲精品99久久精品| 成人精品免费网站| 一区二区三区在线视频播放| 欧美久久免费观看| 久久99精品久久久久久动态图| 久久久99久久精品欧美| 91亚洲精品一区二区乱码| 亚洲国产va精品久久久不卡综合| 日韩一区和二区| 成人一区二区三区中文字幕| 一区二区三区成人| 日韩三级在线观看| www.欧美色图| 青草国产精品久久久久久| 久久精品亚洲麻豆av一区二区| 91伊人久久大香线蕉| 日韩精品国产欧美| 中文一区在线播放| 在线播放一区二区三区| 国产一区二区三区最好精华液| 亚洲丝袜精品丝袜在线| 日韩一区二区三区免费看| 国产精品538一区二区在线| 一区二区高清视频在线观看| 精品久久一区二区| 日本精品免费观看高清观看| 精一区二区三区| 一区二区三区在线观看动漫| 欧美精品一区二区三区蜜桃| 色综合咪咪久久| 激情小说欧美图片| 亚洲五码中文字幕| 欧美国产综合一区二区| 91精品国产色综合久久不卡电影 | 成人a免费在线看| 青娱乐精品视频在线| 亚洲人成人一区二区在线观看| 欧美岛国在线观看| 欧美日韩aaaaaa| eeuss鲁一区二区三区| 久久99热国产| 偷拍亚洲欧洲综合| 中文字幕日韩一区| 日本一区免费视频| 日韩三级视频在线观看| 欧美三级中文字幕| 99在线精品免费| 国产一区二区三区四| 久久精品国产**网站演员| 亚洲国产精品久久久久秋霞影院| 国产精品色眯眯| 久久久久99精品国产片| 日韩视频在线永久播放| 欧美性生活大片视频| 91一区二区三区在线播放| 成人动漫精品一区二区| 极品少妇xxxx精品少妇| 日韩高清不卡在线| 亚洲国产一区二区三区青草影视| 国产精品毛片久久久久久| 久久影院午夜论| 久久精品一区二区三区不卡| 欧美精品一区二区在线播放| 精品少妇一区二区三区日产乱码 | 在线不卡一区二区| 欧美久久久久中文字幕| 91.xcao| 日韩视频在线永久播放| 精品国产伦一区二区三区免费 | 国产精品久久久久婷婷| 欧美激情一区二区三区不卡 | 蜜桃视频一区二区三区在线观看| 亚洲一区二区三区自拍| 亚洲一级二级三级在线免费观看| 一区二区三区精品| 亚洲欧美日韩国产中文在线| 日韩美女啊v在线免费观看| 最近日韩中文字幕| 亚洲国产va精品久久久不卡综合| 亚洲国产精品综合小说图片区| 亚洲综合区在线| 首页国产欧美久久| 另类成人小视频在线| 国产一区二区三区免费看| 国产成人精品一区二区三区网站观看| 国产精品亚洲一区二区三区在线| 高清国产午夜精品久久久久久| 成人动漫视频在线| 欧美日韩一区二区在线视频| 日韩亚洲欧美综合| 国产精品美女视频| 一区二区不卡在线播放| 另类的小说在线视频另类成人小视频在线 | 天堂在线一区二区| 久久精品国产亚洲高清剧情介绍| 国产精品亚洲视频| 在线国产电影不卡| 精品成a人在线观看| 亚洲三级在线看| 蜜臀av一区二区在线观看| 成人国产免费视频| 欧美一区二区三区在线看| 久久精品人人做人人爽人人| 亚洲欧美精品午睡沙发| 亚洲一二三四久久| 国产一区二三区| 在线视频综合导航| 久久综合给合久久狠狠狠97色69| 亚洲精品欧美二区三区中文字幕| 美女网站色91| 色婷婷精品大在线视频| 欧美videos大乳护士334| **欧美大码日韩| 老司机精品视频线观看86| 91黄色免费观看| 国产肉丝袜一区二区| 天堂成人国产精品一区| 成人一区二区三区视频| 欧美一级爆毛片| 一区二区三区不卡在线观看| 国产乱码一区二区三区| 欧美三级视频在线| 中国色在线观看另类| 美女一区二区久久| 欧美吻胸吃奶大尺度电影| 中文字幕精品在线不卡| 经典三级一区二区| 91精品视频网| 一区二区三区蜜桃网| gogogo免费视频观看亚洲一| 精品福利视频一区二区三区| 日韩综合小视频| 欧美网站大全在线观看| 综合久久国产九一剧情麻豆| 国产**成人网毛片九色 | 亚洲一区二区三区在线看| 国产不卡视频一区| 久久久午夜电影| 久久99久久99精品免视看婷婷 | 中文字幕日韩一区二区| 国产精品自拍av| 精品久久久久久无| 蜜桃视频在线观看一区二区| 91精品国产欧美一区二区成人| 亚洲最新视频在线观看| 色婷婷久久久综合中文字幕| 亚洲嫩草精品久久| 欧美中文字幕一区二区三区 | 日韩免费一区二区三区在线播放|