<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    甜咖啡

    我的IT空間

    java實現DES加密算法

    一、java實現DES加密算法
    為了實現一對密鑰對整個項目所有加密解密文件都適用的方法,采用先生成一對密鑰.保存到xml文件中,以后獲得私匙和公鑰只需要從xml文件中取得就可以了.
    /**
    * 把成生的一對密鑰保存到DesKey.xml文件中
    */
    public static void saveDesKey(){     
        try {
            SecureRandom sr = new SecureRandom();
            //為我們選擇的DES算法生成一個KeyGenerator對象
            KeyGenerator kg = KeyGenerator.getInstance ("DES" );
            kg.init (sr);
            FileOutputStream fos = new FileOutputStream("C:/DesKey.xml");
          ObjectOutputStream oos = new ObjectOutputStream(fos);
            //生成密鑰
            Key key = kg.generateKey();
          oos.writeObject(key);
          oos.close();
        } catch (Exception e) {
          e.printStackTrace();
        }
    }




    獲取密鑰方法如下:

    /**

    * 獲得DES加密的密鑰。在交易處理的過程中應該定時更
    * 換密鑰。需要JCE的支持,如果jdk版本低于1.4,則需要
    * 安裝jce-1_2_2才能正常使用。
    * @return   Key 返回對稱密鑰
    */
        public static Key getKey() {
            Key kp = null;
            try {
                  String fileName = "conf/DesKey.xml";
                  InputStream is = DesUtil.class.getClassLoader()
                          .getResourceAsStream(fileName);
                  ObjectInputStream oos = new ObjectInputStream(is);
                  kp = (Key) oos.readObject();
                  oos.close();
            } catch (Exception e) {
                  e.printStackTrace();
            }
            return kp;
        }


    文件采用DES算法加密文件

    /**
    * 文件file進行加密并保存目標文件destFile中

    * @param file
    *         
    要加密的文件 如c:/test/srcFile.txt
    * @param destFile
    *         加密后存放的文件名 如c:/加密后文件
    .txt
    */

    public static void encrypt(String file, String destFile) throws Exception {

            Cipher cipher = Cipher.getInstance("DES");

            cipher.init(Cipher.ENCRYPT_MODE, getKey());

            InputStream is = new FileInputStream(file);

            OutputStream out = new FileOutputStream(dest);

            CipherInputStream cis = new CipherInputStream(is, cipher);

            byte[] buffer = new byte[1024];

            int r;

            while ((r = cis.read(buffer)) > 0) {

                  out.write(buffer, 0, r);

            }

            cis.close();

            is.close();

            out.close();

        }


    文件采用DES算法解密文件


    /**
    文件file進行加密并保存目標文件destFile中

    * @param file
    *         
    已加密的文件 如c:/加密后文件.txt
    * @param destFile
    *         解密后存放的文件名 如c:/ test/解密后文件
    .txt
    */

    public static void decrypt(String file, String dest) throws Exception {
            Cipher cipher = Cipher.getInstance("DES");
            cipher.init(Cipher.DECRYPT_MODE, getKey());
            InputStream is = new FileInputStream(file);
            OutputStream out = new FileOutputStream(dest);
            CipherOutputStream cos = new CipherOutputStream(out, cipher);
            byte[] buffer = new byte[1024];
            int r;
            while ((r = is.read(buffer)) >= 0) {
                  cos.write(buffer, 0, r);
            }
            cos.close();
            out.close();
            is.close();
        } 

    posted on 2013-03-29 15:58 甜咖啡 閱讀(447) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    <2013年3月>
    242526272812
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    統計

    常用鏈接

    留言簿(1)

    我參與的團隊

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成人无遮挡裸免费视频在线观看| 大地资源中文在线观看免费版| 国产精品久久久久免费a∨| 亚洲韩国—中文字幕| 久久免费精彩视频| 亚洲色偷偷偷鲁综合| 本免费AV无码专区一区| 怡红院亚洲怡红院首页| a毛片久久免费观看| 亚洲成AV人片天堂网无码| 日韩免费无码一区二区三区| 亚洲黄色免费在线观看| 久久九九兔免费精品6| 亚洲三级高清免费| 国产精品免费看久久久无码| 国产亚洲精品欧洲在线观看| 亚洲一级特黄大片在线观看 | 在线精品亚洲一区二区| 免费看的黄色大片| 一级毛片在线完整免费观看| 亚洲综合色自拍一区| 四虎影视成人永久免费观看视频| 亚洲国产女人aaa毛片在线| 免费视频爱爱太爽了| 亚洲色大成WWW亚洲女子| 亚洲精品国产高清嫩草影院| 国产在线播放线91免费| 亚洲网址在线观看| 国产黄色片在线免费观看| 久久成人18免费网站| 亚洲欧洲自拍拍偷午夜色| 国产大片51精品免费观看| 成人免费777777被爆出| 久久久久亚洲av无码专区导航 | 亚洲情XO亚洲色XO无码| 91麻豆国产免费观看| 国产AV无码专区亚洲AV蜜芽| 亚洲国产另类久久久精品小说| 在线免费观看你懂的| 国产成人精品日本亚洲语音 | 97国免费在线视频|