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

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

?? fileencryptor.java~56~

?? 使用PBE和三重DES加密文件
?? JAVA~56~
字號:
package fileencryptor;import java.io.*;import java.security.*;import javax.crypto.*;import javax.crypto.spec.*;public class FileEncryptor{private static final String PBEALGORITHM="PBEWithMD5AndDES";private static final String ALGORITHM="DESede";private static final String OPMODE="DESede/ECB/PKCS5Padding";private static final int KEY_LENGTH=168;private static final int ITERATION=1000;private static final int SALT_LENGTH=8;private static final int IV_LENGTH=8;private static final int BUFFER_SIZE=4096;        /**         * get a cipher for PBE encrypt or decrypt         * @param mode cipher mode,it must be Cipher.ENCRYPT_MODE or Cipher.DECRYPT_MODE         * @param salt salt         * @param iteration iteration         * @param password password         * @throws GeneralSecurityException         * @return Cipher         */        private Cipher getPBECipher(int mode,byte[] salt,int iteration,char[] password) throws GeneralSecurityException        {                PBEKeySpec pbekspec;                SecretKeyFactory kfactory;                SecretKey pbekey;                PBEParameterSpec pbeparam;                Cipher cipher;                pbekspec=new PBEKeySpec(password);                kfactory=SecretKeyFactory.getInstance(PBEALGORITHM);                pbekey=kfactory.generateSecret(pbekspec);                pbeparam=new PBEParameterSpec(salt,iteration);                cipher=Cipher.getInstance(PBEALGORITHM);                cipher.init(mode,pbekey,pbeparam);                return cipher;        }        /**         * get a cipher in encrypt or decrypt use         * @param mode cipher mode,it must be Cipher.ENCRYPT_MODE or Cipher.DECRYPT_MODE         * @param key secrey key         * @throws GeneralSecurityException         * @return Cipher         */        private Cipher getCipher(int mode,SecretKey key) throws GeneralSecurityException        {                Cipher cipher;                cipher=Cipher.getInstance(OPMODE);                cipher.init(mode,key);                return cipher;        }        /**         * save secret key in file with PBE         * @param key secret key used to encrypt/decrypt file         * @param password the password used to encrypt secret key         * @param path file path         * @throws GeneralSecurityException         * @throws IOException         */        private void saveKey(SecretKey key,char[] password,String path) throws GeneralSecurityException,IOException        {                byte[] salt;                SecureRandom srandom;                Cipher pbecipher;                BufferedOutputStream out=null;                //create salt PBE needed                salt=new byte[SALT_LENGTH];                srandom=new SecureRandom();                srandom.nextBytes(salt);                pbecipher=getPBECipher(Cipher.ENCRYPT_MODE,salt,ITERATION,password);//get cipher for PBE use                try                {                        out=new BufferedOutputStream(new FileOutputStream(path));                        out.write(salt);//write salt into file                        out.write(pbecipher.doFinal(key.getEncoded()));//encrypt key and save it into file                        out.flush();                }                catch(IOException exc)                {                        throw exc;                }                finally                {                        try                        {                                if(out!=null) out.close();                        }                        catch(IOException exc2)                        {}                }        }        /**         * load and decrypt a secrey key from a file         * @param password password         * @param path file path         * @throws GeneralSecurityException         * @throws IOException         * @return SecretKey         */        private SecretKey loadKey(char[] password,String path) throws GeneralSecurityException,IOException        {                int b;                byte[] all,salt,bkey;                Cipher pbecipher;                BufferedInputStream in=null;                ByteArrayOutputStream content=null;                //read salt and key from file                try                {                        in=new BufferedInputStream(new FileInputStream(path));                        content=new ByteArrayOutputStream();                        for(;(b=in.read())!=-1;) content.write(b);                        all=content.toByteArray();                }                catch(IOException exc)                {                        throw exc;                }                finally                {                        try                        {                                if(in!=null) in.close();                        }                        catch(IOException exc)                        {}                        try                        {                                if(content!=null) content.close();                        }                        catch(IOException exc2)                        {}                }                //get salt                salt=new byte[SALT_LENGTH];                System.arraycopy(all,0,salt,0,SALT_LENGTH);                //get encrypted key                bkey=new byte[all.length-SALT_LENGTH];                System.arraycopy(all,salt.length,bkey,0,bkey.length);                pbecipher=getPBECipher(Cipher.DECRYPT_MODE,salt,ITERATION,password);//get cipher for PBE use                return new SecretKeySpec(pbecipher.doFinal(bkey),ALGORITHM);        }        /**         * get the secret key from file,if key file do not exists,create a new key and save it in file         * @param password password used to encrypt secret key         * @param path key file path         * @throws Exception         * @return SecretKey         */        private SecretKey getKey(char[] password,String path) throws GeneralSecurityException,IOException        {                File kpath;                KeyGenerator kgene;                SecretKey key;                kpath=new File(path);                if(kpath.exists()) return loadKey(password,path); //key exists                //key do not exists                else                {                        //create a new secret key                        kgene=KeyGenerator.getInstance(ALGORITHM);                        kgene.init(KEY_LENGTH);                        key=kgene.generateKey();                        saveKey(key,password,path);//save it                        return key;                }        }        /**         * encrypt or decrypt a file         * @param mode cipher mode,it must be Cipher.ENCRYPT_MODE or Cipher.DECRYPT_MODE         * @param password password         * @param kpath key path         * @param inputpath file path         * @param outputpath the output file path         * @throws GeneralSecurityException         * @throws IOException         */        public void endecrypt(int mode,char[] password,String kpath,String inputpath,String outputpath) throws GeneralSecurityException,IOException        {                int length;                SecretKey key;                Cipher cipher;                BufferedInputStream in=null;                CipherOutputStream out=null;                byte[] buffer;                key=getKey(password,kpath);                cipher=getCipher(mode,key);                //encrypt                try                {                        in=new BufferedInputStream(new FileInputStream(inputpath));                        out=new CipherOutputStream(new BufferedOutputStream(new FileOutputStream(outputpath)),cipher);                        buffer=new byte[BUFFER_SIZE];                        for(;(length=in.read(buffer))>0;) out.write(buffer,0,length);                        out.flush();                }                catch(IOException exc)                {                        throw exc;                }                finally                {                        try                        {                                if(in!=null) in.close();                        }                        catch(IOException exc2)                        {}                        try                        {                                if(out!=null) out.close();                        }                        catch(IOException exc2)                        {}                }        }        /**         * encrypt or decrypt a file         * @param mode cipher mode,it must be Cipher.ENCRYPT_MODE or Cipher.DECRYPT_MODE         * @param password password         * @param kpath key path         * @param inputpath file path         * @param outputpath the output file path         * @throws GeneralSecurityException         * @throws IOException         */        public void endecrypt2(int mode,char[] password,String kpath,String inputpath,String outputpath) throws GeneralSecurityException,IOException        {                int length;                SecureRandom srandom;                SecretKey key;                Cipher cipher;                BufferedInputStream in=null;                BufferedOutputStream out=null;                CipherOutputStream cout=null;                byte[] buffer,iv;                try                {                        key=getKey(password,kpath);                        in=new BufferedInputStream(new FileInputStream(inputpath));                        out=new BufferedOutputStream(new FileOutputStream(outputpath));                        if(mode==Cipher.ENCRYPT_MODE)                        {                                srandom=new SecureRandom();                                iv=new byte[IV_LENGTH];                                srandom.nextBytes(iv);                                cipher=getCipher(mode,key);                        }                        cout=new CipherOutputStream(new BufferedOutputStream(new FileOutputStream(outputpath)),cipher);                        buffer=new byte[BUFFER_SIZE];                        for(;(length=in.read(buffer))>0;) out.write(buffer,0,length);                        out.flush();                }                catch(IOException exc)                {                        throw exc;                }                finally                {                        try                        {                                if(in!=null) in.close();                        }                        catch(IOException exc2)                        {}                        try                        {                                if(out!=null) out.close();                        }                        catch(IOException exc2)                        {}                }        }        public void showHelp()        {                System.out.println("this application is used to encrypt or decrypt a file with TripleDES"+                                   " algorithm,the secret also encrypted with a password.");                System.out.println("usage:");                System.out.println("java -jar fileencryptor.jar [-e|-d] [input file path] [output file path] [secret key path] [password]");                System.out.println("-e: encrypt");                System.out.println("-d: decrypt");        }        public static void main(String args[]) throws GeneralSecurityException,IOException        {                FileEncryptor encryptor;                encryptor=new FileEncryptor();                if(args.length!=5) encryptor.showHelp();                else                {                        if(args[0].equals("-e")) encryptor.endecrypt(Cipher.ENCRYPT_MODE,args[4].toCharArray(),args[3],args[1],args[2]);                        else if(args[0].equals("-d")) encryptor.endecrypt(Cipher.DECRYPT_MODE,args[4].toCharArray(),args[3],args[1],args[2]);                        else encryptor.showHelp();                }        }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本久久精品一区二区| 不卡视频在线看| 亚洲一区精品在线| 亚洲人一二三区| 亚洲免费观看高清完整版在线观看 | 亚洲精品久久嫩草网站秘色| 国产精品嫩草影院av蜜臀| 国产欧美一区二区精品性色| 欧美国产精品一区二区| 国产精品超碰97尤物18| 夜夜嗨av一区二区三区中文字幕| 亚洲成人在线免费| 久久99精品国产.久久久久| 激情综合网天天干| 波波电影院一区二区三区| 99久久精品免费精品国产| 欧美午夜寂寞影院| 日韩三级视频在线观看| 国产日产欧美一区二区三区| 18涩涩午夜精品.www| 午夜在线成人av| 国产综合色视频| 91毛片在线观看| 日韩一区二区三区免费看| 国产精品污www在线观看| 亚洲一级电影视频| 久久99精品久久只有精品| av不卡在线观看| 91麻豆精品91久久久久同性| 亚洲国产精品成人综合| 亚洲国产精品自拍| 国产精品亚洲专一区二区三区| 99国产欧美另类久久久精品 | 国产一区不卡精品| 91黄色免费观看| 久久伊99综合婷婷久久伊| 亚洲欧洲www| 精品一区二区影视| 欧美日韩综合不卡| 欧美国产精品v| 日本午夜一本久久久综合| 92国产精品观看| 欧美精品一区二区精品网| 亚洲国产精品一区二区久久| 成人黄色网址在线观看| 日韩精品最新网址| 亚洲第一综合色| 99re这里只有精品6| 欧美大片在线观看一区| 亚洲一区二区三区四区五区中文| 国产成人啪午夜精品网站男同| 欧美精品丝袜中出| 亚洲一区影音先锋| www.日韩在线| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲愉拍自拍另类高清精品| 成人福利视频在线| 国产婷婷精品av在线| 精品一区二区三区影院在线午夜| 欧美视频日韩视频在线观看| 亚洲精品一二三区| 欧美私模裸体表演在线观看| 日本一区二区综合亚洲| 久久成人免费电影| 日韩精品中文字幕一区二区三区 | 久久国产尿小便嘘嘘尿| 欧美高清视频www夜色资源网| 亚洲精品中文字幕乱码三区| 91在线你懂得| 有码一区二区三区| 欧美丝袜丝交足nylons图片| 亚洲蜜臀av乱码久久精品蜜桃| 不卡大黄网站免费看| 国产精品美女久久久久久久网站| 高清在线观看日韩| 国产午夜亚洲精品理论片色戒| 精品亚洲成a人| 久久综合给合久久狠狠狠97色69| 精品一区在线看| 久久久久国产一区二区三区四区| 国产传媒欧美日韩成人| 久久精品欧美一区二区三区不卡| 极品少妇一区二区三区精品视频 | 风间由美一区二区三区在线观看 | 婷婷中文字幕综合| 欧美高清一级片在线| 日韩av在线播放中文字幕| 日韩一级二级三级精品视频| 裸体在线国模精品偷拍| 国产喷白浆一区二区三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 一区二区三区久久久| 欧美日韩一级片在线观看| 日韩国产欧美一区二区三区| 26uuu另类欧美亚洲曰本| 床上的激情91.| 亚洲一区二区美女| 精品剧情在线观看| 成人h动漫精品一区二区| 亚洲高清免费观看| 2021久久国产精品不只是精品| 成人毛片视频在线观看| 调教+趴+乳夹+国产+精品| 国产亚洲综合在线| 欧美日韩在线一区二区| 国产麻豆精品一区二区| 亚洲已满18点击进入久久| 久久久久久久久免费| 欧美日韩国产综合草草| 韩国中文字幕2020精品| 一区二区视频免费在线观看| 精品国产成人系列| 欧美日韩一区中文字幕| 粉嫩欧美一区二区三区高清影视| 亚洲国产sm捆绑调教视频| 亚洲国产成人私人影院tom| 7777精品伊人久久久大香线蕉的 | 欧美伊人久久大香线蕉综合69| 精品在线观看视频| 亚洲成人免费观看| 国产精品久久久久三级| 欧美videofree性高清杂交| 色偷偷久久人人79超碰人人澡| 极品美女销魂一区二区三区免费| 亚洲小说欧美激情另类| 中文字幕在线观看一区二区| 久久一区二区三区四区| 欧美精品亚洲一区二区在线播放| www.综合网.com| 国产精品性做久久久久久| 婷婷成人综合网| 亚洲国产色一区| 亚洲另类春色国产| 国产精品久久久久久久久果冻传媒| 日韩一级成人av| 欧美男男青年gay1069videost| 91在线免费看| 99久久精品情趣| 成人av资源下载| 狠狠色丁香久久婷婷综合_中| 爽好久久久欧美精品| 天天色天天操综合| 香蕉影视欧美成人| 亚洲不卡在线观看| 一卡二卡欧美日韩| 一区二区三区日韩欧美| 亚洲另类一区二区| 亚洲综合另类小说| 亚洲黄色尤物视频| 亚洲综合色在线| 亚洲一线二线三线久久久| 亚洲国产一二三| 亚洲国产毛片aaaaa无费看| 亚洲精选在线视频| 亚洲女人的天堂| 亚洲成人av中文| 日韩电影免费在线| 蜜桃在线一区二区三区| 六月丁香综合在线视频| 国产真实乱偷精品视频免| 国产一级精品在线| 不卡的电影网站| 色婷婷亚洲综合| 欧美乱妇23p| 精品久久久久香蕉网| 久久久不卡网国产精品一区| 中文字幕视频一区二区三区久| 日韩伦理av电影| 亚洲观看高清完整版在线观看| 日产欧产美韩系列久久99| 青青草原综合久久大伊人精品优势| 国产一区二区三区黄视频| 成人免费观看男女羞羞视频| 91在线视频18| 日韩欧美一区二区不卡| 国产婷婷一区二区| 亚洲国产日韩在线一区模特| 美女高潮久久久| 99免费精品视频| 欧美一区二区福利在线| 国产精品白丝在线| 免费三级欧美电影| 色综合欧美在线| 亚洲精品一区二区三区蜜桃下载 | 免费观看在线色综合| 成人精品小蝌蚪| 91麻豆精品国产91久久久久 | 久久在线免费观看| 亚洲综合在线免费观看| 国内久久精品视频| 色婷婷综合久久久中文一区二区| 日韩欧美一级二级三级| 一区二区三区av电影| 国产黄色精品视频| 6080国产精品一区二区| 国产精品的网站| 激情文学综合插| 欧美一级视频精品观看| 亚洲欧美色综合| 岛国精品在线观看|