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

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

?? caeser1.java~59~

?? 本設計基本上能夠實現了課題的要求
?? JAVA~59~
字號:
package my;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2006</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

import java.util.*;
import java.io.*;
import javax.swing.*;

public class Caeser1 {
  HashMap dic;
  String Text = new String();
  String explain = new String(" ");
  String textPlaint;
  int[] Time = new int[26];
  int numOfword = 0;
  void SetText(String s) {
    this.Text = s;
  }

  void SetExplain(String s) {
    this.explain = s;
  }

  String getout() {
    return textPlaint;
  }

  String getText() {
    return Text;
  }

  String getexplain() {
    return explain;
  }

  private void initialWordClass(String s) {
    dic = new HashMap();
    String temp = "";
    try {
      FileInputStream fis = new FileInputStream(s);
      InputStreamReader isr = new InputStreamReader(fis);
      BufferedReader bfr = new BufferedReader(isr);
      do {
        temp = bfr.readLine();
        if (temp == null)
          break;
        dic.put(temp, temp);
      }
      while (true);
    }
    catch (Exception e) {
      JOptionPane.showMessageDialog(null, "找不到詞庫文件!", "Message Diolog ",
                                    JOptionPane.ERROR_MESSAGE);
    }
  }

  public Caeser1() {
  }

  public int Max(int num, int[] a) {
    int max = a[0];
    int key = 0;
    for (int i = 0; i < 26; i++) {
      if (max < a[i]) {
        max = a[i];
        key = i;
      }
    }
    if (max > (num * 9 / 10)&&num!=0)
      return key;
    else
      if(num==0)
        return key;
      else
        return -1;

  }

  public void Decode1(int key) {
    int L = Text.length();
    int flagOfWord = 0;
    boolean choose;
    StringBuffer out = new StringBuffer();
    StringBuffer tent = new StringBuffer();
    int countOfWord = 0;
    for (int i = 0; i < L; i++) {
      char ch = Text.charAt(i);
      if (ch >= 'A' && ch <= 'Z') {
        ch = (char) ( (ch + 32 - 97 - key + 26) % 26 + 97);
        tent.append(ch);
        out.append(ch);
        countOfWord++;
        flagOfWord = 1;
      }
      else if (ch >= 'a' && ch <= 'z') {
        ch = (char) ( (ch - 97 - key + 26) % 26 + 97);
        tent.append(ch);
        out.append(ch);
        countOfWord++;
        flagOfWord = 1;
      }
      else {
        if (flagOfWord == 1) {
          //  long start = System.currentTimeMillis();
          choose = dic.containsKey(tent.toString());
          // long finish=System.currentTimeMillis();
          //System.out.println("time:: "+(finish-start));

          if (choose == true) {
            //  System.out.println("tent:: "+tent);
            Time[key]++;
            // if(key==0)
            //numOfword++;
          }
          numOfword++;
          tent.delete(0, countOfWord);
          countOfWord = 0;
          flagOfWord = 0;
        }
        out.append(ch);
      }
    }
    textPlaint = out.toString();

  }

  public void C_Decode() {
    //System.out.println("text: " + Text);
    int key;
     long start = System.currentTimeMillis();
    initialWordClass("word.dic");
    for (key = 0; key < 26; key++) {
      //System.out.println("key: " + key);
      numOfword = 0;
      Time[key] = 0;
      Decode1(key);
      if (Time[key] == numOfword && numOfword != 0) {
         long finish=System.currentTimeMillis();
          //System.out.println("time:: "+(finish-start));
        this.SetExplain(" 解密成功! :)\n  此密文的密鑰是" + key+"\n 耗時:"+(finish-start)+"微秒!");
        break;
      }
    }
    int item;
    if (key == 26) {
      item = Max(numOfword, Time);
      if (item == -1) {
        this.SetExplain(" 對不起,無法解密!");
        //explain = explain.toString();
      }
      else {
        this.SetExplain(" 解密成功! :)\n  此密文的密鑰是" + item);
        //explain = explain.toString();
        Decode1(item);
      }
    }
  }

  //heuristic
  public void C_HDecode(int chance) {
    //相對高的頻率,可能對應于明文字母集合{r,n,I,o,a,s}。
    //最低頻率的字母,很可能包括在集合{w,v,b,k,x,q,j,z}。
     long start1 = System.currentTimeMillis();


    initialWordClass("word.dic");

    int[] Frequent = new int[26];
    char[] Referto =  {
          'e', 't', 'a', 'o', 'i', 'n', 's', 'h', 'r', 'd', 'l',
          'c', 'u', 'm', 'w', 'f', 'g', 'y', 'p', 'b', 'v', 'k', 'j', 'x', 'q',
          'z'};

    int[] Compare = new int[26];
    int key1, key2;

    int Long = Text.length();
    for (int i = 0; i < Long; i++) { //統計26個字母的出現頻率
      char c = Text.charAt(i);
      if (c <= 'z' && c >= 'a')
        Frequent[c - 'a']++;
      else if (c <= 'Z' && c >= 'A')
        Frequent[c - 'A']++;
    }
    //選擇出頻率高的
    if(chance==1)
    {
    int tem = Max(0, Frequent);
    for (int i= 0; i< 26;i++) {
      key1=('a'+tem-Referto[i]+26)%26;
      numOfword = 0;
      Time[key1] = 0;
      Decode1(key1);
      if (Time[key1] == numOfword && numOfword != 0) {
        long finish1=System.currentTimeMillis();
        this.SetExplain("  解密成功! :)\n  本啟發式函數可以解此密文哦!:P\n  此密文的密鑰是" + key1 +
                        "\n  歡迎再次使用!"+"\n耗時"+(start1-finish1)+"微妙!");
        break;
      }
    //}
    if (i== 25) {
      key2 = Max(numOfword, Time);
      if (key2 == -1) {
        this.SetExplain("Sorry!:< \n 啟發式的啟發函數對此密文不夠解密!\n也許您可以嘗試輸入更長的信息密文!\n鑒于本算法是對字母的信息統計!\n還有待改進啊!\n - -0");
        //explain = explain.toString();
      }
      else {
        this.SetExplain("解密成功! :)\n  此密文的密鑰是" + key2);
        //explain = explain.toString();
        Decode1(key2);
      }

    }
    }

    }
    else//代入法的程序
    {
      //for (int k = 0; k < 6; k++) {
        int[] tin = Frequent;
        char[] Place = new char[26];
        for (int i = 0; i < 26; i++) {
          int y = Max(0, tin);
          Place[y] = Referto[i];
          tin[y] = -1;

          char c1 = (char) ('a' + y);
          char c2 = (char) ('A' + y);
          Text.replace(c1, Place[y]);
          Text.replace(c2, Place[y]);
        }

        //}
        //System.out.print("place is:"+Place);
        numOfword = 0;
        Time[0] = 0;
        Decode1(0);
        if (Time[0] == numOfword && numOfword != 0 ||
            Time[0] > numOfword * 9 / 10) {
          String temp = "";
          String temp1 = "";
          for (int i = 0; i < 26; i++) {
            temp += Place[i];
            temp += ' ';
            temp1 += (char) ('a' + i);
            temp1 += ' ';
          }
          this.SetExplain("解密成功! :)\n  此密文的替換表是:\n" + temp1 + "\n" + temp);
        }
        else
          this.SetExplain("Sorry!:< \n 此解密算法不夠解密!");
      //}
    }
  }

}






?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频在线观看一区| 国产成人综合亚洲网站| 久久激情五月婷婷| 91黄色免费看| 中文一区二区完整视频在线观看| 亚洲国产精品久久人人爱 | 国产女主播视频一区二区| 亚洲与欧洲av电影| kk眼镜猥琐国模调教系列一区二区| 6080yy午夜一二三区久久| 国产精品不卡一区| 国产一区二区精品久久91| 欧美精品三级日韩久久| 一区二区三区中文字幕电影 | 日产精品久久久久久久性色| 色综合天天综合网国产成人综合天 | 国产精品不卡一区二区三区| 国产一区久久久| 日韩一区二区麻豆国产| 日本亚洲欧美天堂免费| 欧美猛男gaygay网站| 亚洲一区中文日韩| 色综合咪咪久久| 亚洲另类春色校园小说| 北条麻妃国产九九精品视频| 国产视频一区在线播放| 国内精品国产成人国产三级粉色 | 色婷婷亚洲综合| 亚洲人成小说网站色在线 | 国产剧情一区在线| www国产精品av| 国产成人在线观看| 日本一区二区三区dvd视频在线| 精品亚洲免费视频| 亚洲精品一线二线三线无人区| 免费观看成人av| 精品国产百合女同互慰| 国产一区二区电影| 欧美激情中文不卡| 91蜜桃婷婷狠狠久久综合9色| 一色桃子久久精品亚洲| 91麻豆蜜桃一区二区三区| 一区二区三区四区乱视频| 欧美日韩一区高清| 免费在线看成人av| 久久综合久久综合亚洲| 成人免费黄色在线| 自拍偷自拍亚洲精品播放| 欧美性淫爽ww久久久久无| 午夜精品成人在线视频| 欧美大片在线观看一区二区| 国产精品一区二区x88av| 日韩美女久久久| 欧美精品一二三四| 国产精品一区久久久久| 亚洲视频一区二区免费在线观看| 色哟哟精品一区| 捆绑调教美女网站视频一区| 欧美国产综合一区二区| 欧美在线视频你懂得| 麻豆精品视频在线| 中文字幕永久在线不卡| 欧美日韩高清一区二区三区| 久久国内精品自在自线400部| 日本一区二区不卡视频| 欧美在线影院一区二区| 国产一区欧美日韩| 亚洲午夜在线观看视频在线| 精品国产免费视频| 欧亚一区二区三区| 国产麻豆精品95视频| 亚洲国产综合91精品麻豆| 久久综合精品国产一区二区三区 | 亚洲国产毛片aaaaa无费看| 欧美成人精品二区三区99精品| 成人免费高清在线观看| 日本特黄久久久高潮| 国产精品女同互慰在线看| 欧美日韩国产综合草草| 粉嫩av一区二区三区粉嫩| 日韩精品91亚洲二区在线观看| 国产精品久久久久久久久免费相片| 欧美高清精品3d| 色婷婷久久综合| 国产成人一级电影| 久久99热狠狠色一区二区| 亚洲一区二区三区在线| 国产精品沙发午睡系列990531| 欧美大片在线观看| 欧美美女直播网站| 日本福利一区二区| 99视频一区二区三区| 国产一区二区中文字幕| 日日骚欧美日韩| 天天综合天天综合色| 一区二区免费在线播放| 中文字幕一区二区三区四区| 精品剧情v国产在线观看在线| 欧美视频中文字幕| 91成人在线观看喷潮| 色综合色狠狠天天综合色| 9人人澡人人爽人人精品| 国产精品白丝jk白祙喷水网站| 久久99精品国产91久久来源| 日本亚洲一区二区| 蜜臀久久99精品久久久久宅男| 五月天丁香久久| 日韩电影一区二区三区四区| 午夜视频在线观看一区二区 | 777亚洲妇女| 欧美电影影音先锋| 欧美一区二区三区在线看| 精品视频1区2区3区| 欧美日韩免费不卡视频一区二区三区| 99精品欧美一区二区三区小说| 成人美女在线视频| 成人av手机在线观看| 成人av电影在线观看| 92精品国产成人观看免费| 91玉足脚交白嫩脚丫在线播放| 91色porny在线视频| 日本高清无吗v一区| 欧美日韩第一区日日骚| 4hu四虎永久在线影院成人| 在线不卡中文字幕播放| 欧美一区二区三区四区视频| 欧美老女人在线| www一区二区| 自拍偷拍国产精品| 91亚洲精品久久久蜜桃网站| 亚洲欧美日韩国产中文在线| 日韩视频123| 99re亚洲国产精品| 激情综合网天天干| 中文字幕精品一区| 久久亚洲一区二区三区明星换脸| 欧美日韩高清一区二区三区| 91丨porny丨国产入口| 懂色av一区二区夜夜嗨| 国产精品正在播放| 国产精一品亚洲二区在线视频| 另类小说综合欧美亚洲| 日韩高清在线不卡| 婷婷综合五月天| 亚洲综合丝袜美腿| 亚洲动漫第一页| 亚洲成人av福利| 日韩国产欧美三级| 性做久久久久久免费观看欧美| 亚洲国产美女搞黄色| 亚洲午夜三级在线| 日韩中文字幕不卡| 奇米一区二区三区| 精品一区二区在线视频| 裸体一区二区三区| 久久国产尿小便嘘嘘| 国产美女一区二区| 成人丝袜18视频在线观看| 成年人午夜久久久| 一本大道久久a久久综合| 日本黄色一区二区| 欧美精品一级二级| 69堂精品视频| 精品三级在线观看| 久久精品欧美一区二区三区不卡| 国产欧美日韩在线看| 国产精品福利在线播放| 亚洲乱码中文字幕| 日韩福利电影在线观看| 精品制服美女丁香| 99精品欧美一区二区三区综合在线| 色婷婷香蕉在线一区二区| 欧美精品一二三四| 国产视频不卡一区| 成人欧美一区二区三区视频网页| 一区二区在线观看av| 蜜桃免费网站一区二区三区| 成人性视频网站| 欧美美女网站色| 国产精品女同一区二区三区| 亚洲高清久久久| 国产美女在线精品| 欧美中文字幕亚洲一区二区va在线 | 欧美高清一级片在线| 久久久久久久久岛国免费| 亚洲精品欧美综合四区| 久久精品久久99精品久久| 成人一道本在线| 欧美一区二区在线免费播放| 国产精品入口麻豆原神| 天堂成人国产精品一区| 大胆亚洲人体视频| 日韩一区二区免费电影| 亚洲精品大片www| 粉嫩13p一区二区三区| 91精品在线免费| 亚洲精品ww久久久久久p站| 国产一区美女在线| 欧美精品久久久久久久多人混战| 国产精品免费看片|