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

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

?? desjiajiemi.txt

?? 基于JAVA編程的DES算法加解密工廠的實現
?? TXT
?? 第 1 頁 / 共 4 頁
字號:

package com.crypt.file; 

/** 
 * <p>Title: </p> 
 * 
 * <p>Description: 文件加解密實現算法工廠</p> 
 * 
 * <p>Copyright: Copyright (c) 2006</p> 
 * 
 * <p>Company: </p> 
 * 
 * @author not attributable 
 * @version 1.0 
 */ 
public class FileCryptFactory { 

    public static String KEY_DES = "KEY_DES";  //基于DES key 實現文件加解密 
     
    private static KeyDESFileCrypt keyDESFileCrypt =  new KeyDESFileCrypt(); 
    private FileCryptFactory() { 
    } 

    /** 
     * 根據不同的文件加解密算法,返回不同的操作實例 ,如果沒有找到,返回 null 
     * @param type String 
     * @return KeyDESFileCrypt 
     */ 
    public static KeyDESFileCrypt create(String type){ 
        if(FileCryptFactory.KEY_DES.equals(type)){ 
            return keyDESFileCrypt; 
        } 
        return null; 
    } 

} 

package com.crypt.file; 

import javax.crypto.KeyGenerator; 
import java.security.NoSuchAlgorithmException; 
import java.security.Key; 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.*; 
import javax.crypto.spec.SecretKeySpec; 
import javax.crypto.Cipher; 
import javax.crypto.*; 
import java.security.*; 
import java.util.Date; 
import javax.swing.JOptionPane; 

public class KeyDESFileCrypt { 


    public KeyDESFileCrypt(){ 
    } 

    public static void main(String[] args) throws IOException { 

//           String s = "1234"; 
//           byte []data = s.getBytes(); 
// 
//           Key key = generateDESKey(); 
//           data = cryptoDES(key,data); 
// 
//           data = deCryptoDES(key,data); 
// 
//           s = new String(data); 
// 


//        File keyFile = new File("f:\\key.key"); 
// 
//        Key key = generateDESKey(); 
// 
//        if(!saveDESKeyToFile(keyFile,key)){ 
//          System.out.println("保存key文件出錯!"); 
//          if(keyFile.exists()){ 
//              keyFile.delete(); 
//          } 
//          return ; 
//      } 




//          File keyFile = new File("f:\\key.key"); 
//        File srcFile = new File("f:\\下半年計算機技術與軟件專業技術資格考試.doc"); 
//    File destFile = new File("f:\\下半年計算機技術與軟件專業技術資格考試.doc.data"); 
//    File dest2File = new File("f:\\下半年計算機技術與軟件專業技術資格考試2.doc"); 
// 
// 
//    Date date = new Date(); 
//    testCryptoDESFile(keyFile, srcFile, destFile); 
//    testCryptoDESFile(keyFile, destFile, dest2File); 
//      //testDeCryptoDESFile(keyFile,destFile,dest2File); 
//     Date date2 = new Date(); 
//     String h = String.valueOf(date2.getHours()-date.getHours()); 
//     String m = String.valueOf(date2.getMinutes()-date.getMinutes()); 
//     String s = String.valueOf(date2.getSeconds()-date.getSeconds()); 
//     System.out.println("處理時間:"+h 
//                        +":"+m+":" 
//                        +s); 



    } 

//    private static void testDeCryptoDESFile(File keyFile, File srcFile, File destFile) throws 
//            IOException { 
//        if(!srcFile.exists()){ 
//            System.out.println("要解密的源文件不存在!"); 
//            return ; 
//        } 
// 
//        if(!destFile.exists()){ 
//            destFile.createNewFile(); 
//        } 
// 
//        if(!deCryptoDES(keyFile,srcFile,destFile)){ 
//            System.out.println("解密文件失敗!"); 
//            return; 
//        } 
// 
//        System.out.println("成功解密文件"); 
//    } 

//    private static void testCryptoDESFile(File keyFile, File srcFile, File destFile) throws 
//            IOException { 
//        if(!srcFile.exists()){ 
//            System.out.println("要加密的源文件不存在!"); 
//            return ; 
//        } 
// 
//        if(!destFile.exists()){ 
//            destFile.createNewFile(); 
//        } 
// 
// 
//        if(!cryptoDES(keyFile,srcFile,destFile)){ 
//            System.out.println("加密文件失敗!"); 
//            return; 
//        } 
// 
//        System.out.println("成功加密文件"); 
//    } 

    /** 
     * 使用DES加密文件 
     * @param keyFile File 包含key 數據的文件 
     * @param srcFile File 要加密的源文件 
     * @param destFile File 加密后的目標文件 
     * @return boolean 成功,返回 true ,否則 返回 false 
     */ 
    public  boolean cryptoDES(File keyFile, File srcFile, File destFile,DESFileThread thread) { 
        return translateDES(keyFile, srcFile, destFile, Cipher.ENCRYPT_MODE,thread); 
    } 

    /** 
     * 使用DES解密文件 
     * @param keyFile File 包含key 數據的文件 
     * @param srcFile File 要加密的源文件 
     * @param destFile File 加密后的目標文件 
     * @return boolean 成功,返回ture ,否則 返回 false 
     */ 
    public  boolean deCryptoDES(File keyFile, File srcFile, File destFile,DESFileThread thread) { 
       return translateDES(keyFile, srcFile, destFile, Cipher.DECRYPT_MODE,thread); 
    } 

    /** 
     * 使用DES加密字節數據 
     * @param key Key 對稱key 
     * @param data byte[] 要加密的字節數據 
     * @return byte[] 成功,返回加密后的字節數據,否則,返回 null 
     */ 
    public  byte[] deCryptoDES(Key key, byte[] data) { 
        return translateDES(key, data, Cipher.DECRYPT_MODE); 
    } 

    /** 
     * 使用DES解密字節數據 
     * @param key Key 對稱key 
     * @param data byte[] 要解密的字節數據 
     * @return byte[] 成功,返回解密后的字節數據,否則,返回 null 
     */ 
    public  byte[] cryptoDES(Key key, byte[] data) { 
        return translateDES(key, data, Cipher.ENCRYPT_MODE); 
    } 

    /** 
     * 從一個包含key 數據的文件中,獲取 key 對稱key 
     * @param file File 包含key 數據的文年 
     * @return Key 成功,返回獲取到的key ,否則,返回 null 
     */ 
    public  Key getDESKeyFormFile(File file) { 
      FileInputStream fin = null; 
      int flen = -1; 
      byte[] keyByte = null; 
      SecretKeySpec keySpec = null; 
      try { 
          fin = new FileInputStream(file); 
      } catch (FileNotFoundException ex) { 
          ex.printStackTrace(); 
          return null; 
      } 
      try { 
          flen = fin.available(); 
          keyByte = new byte[flen]; 
          fin.read(keyByte); 
          keySpec = new SecretKeySpec(keyByte, "DES"); 
          return keySpec; 
      } catch (IOException ex1) { 
          ex1.printStackTrace(); 
          return null; 
      } 
  } 

  /** 
   * 將key 保存到文件中 
   * @param file File 將保存key的文件 
   * @param key Key 對稱key 
   * @return boolean 成功,返回 ture ,否則,返回 false 
   */ 
  public  boolean saveDESKeyToFile(File file, Key key) { 
      byte[] keyByte = key.getEncoded(); 
      FileOutputStream fout = null; 
      try { 
          fout = new FileOutputStream(file); 
      } catch (FileNotFoundException ex) { 
          ex.printStackTrace(); 
          return false; 
      } 
      if (fout == null) { 
          return false; 
      } 
      try { 
          fout.write(keyByte); 
      } catch (IOException ex1) { 
          ex1.printStackTrace(); 
          return false; 
      } finally { 
          try { 
              fout.close(); 
          } catch (IOException ex2) { 
              ex2.printStackTrace(); 
              return false; 
          } 
      } 
      return true; 
  } 

  /** 
   * 產生一個對稱key 
   * @return Key 
   */ 
  public  Key generateDESKey() { 
      KeyGenerator keyGen = null; 
      try { 
          keyGen = KeyGenerator.getInstance("DES"); 
      } catch (NoSuchAlgorithmException ex) { 
          ex.printStackTrace(); 
          return null; 
      } 
      keyGen.init(56); 
      return keyGen.generateKey(); 

  } 

  /** 
   * 轉換文件編碼 
   * @param keyFile File 
   * @param srcFile File 
   * @param destFile File 
   * @param mode int 
   * @return boolean 
   */ 
  private  boolean translateDES(File keyFile, File srcFile, File destFile, 
                                 int mode, DESFileThread thread) { 
        FileInputStream fin = null; 
        FileOutputStream fout = null; 
        CipherInputStream cipherIn = null; 
        Key key = null; 
        Cipher cipher = null; 

        key = getDESKeyFormFile(keyFile); 

        if (key == null) { 
            return false; 
        } 

        try { 
            cipher = Cipher.getInstance("DES"); 
              cipher.init(mode, key); 
        } catch (NoSuchPaddingException ex3) { 
            return false; 
        } catch (NoSuchAlgorithmException ex3) { 
            return false; 
        } catch (InvalidKeyException ex4) { 
            return false; 
        } 

        try { 
            fin = new FileInputStream(srcFile); 
            cipherIn = new CipherInputStream(fin,cipher); 

            fout = new FileOutputStream(destFile); 
        } catch (FileNotFoundException ex) { 
            ex.printStackTrace(); 
            return false; 
        } 


        byte[] data = new byte[1024]; 
        int len = -1; 
        int count = 0; 
        boolean isFinsh = false; // 是否完成 
        try { 
            while ((len = cipherIn.read(data)) != -1) { 
                if(len==-1){ 
                    // 完成 
                    isFinsh = true; 
                } 
                if(thread.isEnd()){ 
                    //取消,退出,處理過程 
                    break; 
                } 


                 // 暫停,在等 
                try { 
                    thread.waitForResume(); 
                } catch (InterruptedException ex5) { 
                    ex5.printStackTrace(); 
                     JOptionPane.showMessageDialog(thread.proFrame, "暫停失敗!"); 
                } 


                fout.write(data, 0, len); 
                // 顯示百分比,顯示進度 
                count +=len; 
                thread.proFrame.jProgressBar1.setValue(count); 
                thread.proFrame.jLabel5.setText("完成字節:"+String.valueOf(thread.proFrame.jProgressBar1.getValue())); 
                thread.proFrame.jLabel6.setText("總共字節:"+String.valueOf(thread.proFrame.jProgressBar1.getMaximum())); 

//                 int pre = (int) ((proFrame.jProgressBar1.getValue()*100*100000)/(proFrame.jProgressBar1.getMaximum()*100000)); 
//                proFrame.jLabel7.setText( 
//                        String.valueOf(pre)+"%"); 


            } 

        } catch (IOException ex1) { 
            ex1.printStackTrace(); 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费观看在线观看| 中文字幕一区av| 欧美亚洲动漫另类| 91年精品国产| 色婷婷综合久久久中文一区二区| 成人激情小说乱人伦| 成人精品电影在线观看| 成人午夜大片免费观看| 成人黄色电影在线| 91麻豆蜜桃一区二区三区| 色一情一伦一子一伦一区| 在线精品国精品国产尤物884a| 91麻豆6部合集magnet| 欧美三级三级三级爽爽爽| 欧美一区二区三区思思人| 日韩视频中午一区| 欧美高清在线视频| 亚洲精品成人少妇| 美腿丝袜一区二区三区| 高清在线观看日韩| 色综合天天综合网天天狠天天| 欧美性猛交xxxxxxxx| 日韩欧美综合在线| 国产精品久久久久久久久久久免费看 | 欧美日韩在线精品一区二区三区激情 | 免费高清不卡av| 国产成人av资源| 欧美性三三影院| 久久精品这里都是精品| 一级做a爱片久久| 激情文学综合网| 91国产成人在线| 2020国产精品自拍| 悠悠色在线精品| 国产自产2019最新不卡| 91丨porny丨国产| 精品盗摄一区二区三区| 伊人婷婷欧美激情| 久久精品av麻豆的观看方式| 91小视频在线| 久久蜜桃一区二区| 亚洲二区视频在线| 国产精品中文字幕欧美| 欧美午夜电影网| 中文字幕av在线一区二区三区| 午夜精品一区二区三区三上悠亚| 成人在线一区二区三区| 91精品国产一区二区三区香蕉| 亚洲欧洲av在线| 韩国成人福利片在线播放| 欧美在线free| 国产精品日韩精品欧美在线| 免费看日韩a级影片| 91高清视频免费看| 国产精品久久免费看| 精品一区二区综合| 欧美精品在线观看一区二区| 亚洲色图欧洲色图| 国产精品系列在线观看| 欧美一区二区三区在线电影| 一区二区三区四区亚洲| 粉嫩蜜臀av国产精品网站| 精品久久一区二区| 日韩精品午夜视频| 欧美日韩国产高清一区二区三区 | 欧美色倩网站大全免费| 国产精品福利在线播放| 成人精品一区二区三区中文字幕| 精品福利在线导航| 免费成人小视频| 日韩一区二区三区在线观看| 天堂影院一区二区| 欧美系列亚洲系列| 亚洲国产va精品久久久不卡综合 | 欧美aaa在线| 日韩女优av电影| 美女视频第一区二区三区免费观看网站| 欧美色涩在线第一页| 五月开心婷婷久久| 日韩一区国产二区欧美三区| 免费成人在线视频观看| 日韩无一区二区| 国产精品亚洲成人| 国产精品三级在线观看| av毛片久久久久**hd| 亚洲精品美国一| 欧美日韩综合在线| 免费在线一区观看| 亚洲男人天堂一区| 欧美伊人久久久久久午夜久久久久| 亚洲宅男天堂在线观看无病毒| 欧美日韩成人综合在线一区二区| 亚洲va韩国va欧美va精品| 日韩免费观看高清完整版| 韩国精品免费视频| 最新日韩在线视频| 欧美精品一二三四| 国产毛片精品国产一区二区三区| 国产精品成人免费| 欧美日韩在线一区二区| 国模一区二区三区白浆 | 色综合网站在线| 日韩va欧美va亚洲va久久| 精品久久久影院| 色天使色偷偷av一区二区| 日本欧美肥老太交大片| 国产精品看片你懂得| 欧美图片一区二区三区| 国产一二精品视频| 亚洲成av人片| 中文字幕一区日韩精品欧美| 欧美人与性动xxxx| 成人黄色电影在线| 久久福利视频一区二区| 亚洲欧美一区二区不卡| www精品美女久久久tv| 在线观看亚洲专区| 国产福利一区二区三区视频| 亚洲h在线观看| 国产精品高清亚洲| 久久亚洲春色中文字幕久久久| 一本大道久久a久久精品综合| 秋霞午夜鲁丝一区二区老狼| 最新日韩av在线| 国产视频一区在线播放| 9191精品国产综合久久久久久 | 91精品国产综合久久久久| av一二三不卡影片| 国内精品伊人久久久久影院对白| 亚洲午夜久久久久久久久电影网 | 国产精品一二三在| 欧美96一区二区免费视频| 亚洲免费在线视频一区 二区| 精品国产精品一区二区夜夜嗨| 欧美日韩一级黄| 在线精品亚洲一区二区不卡| 99久久99久久综合| 成人av午夜电影| 成人性生交大合| 懂色av一区二区三区免费看| 国产精品一二三在| 国产一区二区三区最好精华液| 蜜桃av一区二区三区电影| 一区二区三区欧美激情| 亚洲午夜免费电影| 亚洲影视在线观看| 亚洲午夜私人影院| 五月天激情综合| 奇米影视一区二区三区| 日韩福利电影在线| 另类欧美日韩国产在线| 日本亚洲免费观看| 蜜臀av亚洲一区中文字幕| 免费在线看一区| 国产剧情在线观看一区二区| 激情小说欧美图片| 国产成a人无v码亚洲福利| 国产精品自拍一区| 国产成人av影院| 91香蕉视频黄| 欧美日韩和欧美的一区二区| 欧美日韩国产首页| 精品嫩草影院久久| 国产亚洲一区二区在线观看| 国产色综合一区| 亚洲欧洲日韩女同| 亚洲在线中文字幕| 久久丁香综合五月国产三级网站| 国产成人综合亚洲网站| 不卡电影一区二区三区| 欧美视频第二页| 精品理论电影在线观看 | 国模一区二区三区白浆| 高清beeg欧美| 精品视频一区二区三区免费| 欧美一区二区网站| 久久亚洲一区二区三区四区| 国产精品久久久久久久岛一牛影视 | www.日本不卡| 欧美日韩高清一区二区| 精品成人a区在线观看| 综合中文字幕亚洲| 蜜桃视频一区二区三区| 白白色 亚洲乱淫| 91精品国产手机| 国产精品久久免费看| 青娱乐精品视频| 91在线精品一区二区| 91麻豆精品国产综合久久久久久| 久久精品男人天堂av| 无吗不卡中文字幕| 99视频在线观看一区三区| 日韩一区二区三区视频| 中文字幕一区二区三区乱码在线 | 免费成人av资源网| 91日韩一区二区三区| 亚洲精品在线观看网站| 亚洲国产精品久久人人爱| 成人禁用看黄a在线| 日韩精品一区二区三区视频在线观看|