欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java DES 加密/解密,javades加密解密,package cn.o

来源: javaer 分享于  点击 3416 次 点评:39

java DES 加密/解密,javades加密解密,package cn.o


package cn.outofmemory.snippets.core;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.security.Security;import java.security.spec.AlgorithmParameterSpec;import javax.crypto.Cipher;import javax.crypto.CipherInputStream;import javax.crypto.CipherOutputStream;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto.spec.IvParameterSpec;public class Main {    static Cipher ce;    static Cipher cd;    public static void main(String args[]) throws Exception {        Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());        SecretKey skey = KeyGenerator.getInstance("DES").generateKey();        byte[] initializationVector = new byte[]{0x10, 0x10, 0x01, 0x04, 0x01, 0x01, 0x01, 0x02};        AlgorithmParameterSpec algParameters = new IvParameterSpec(initializationVector);        ce = Cipher.getInstance("DES/CBC/PKCS5Padding");        cd = Cipher.getInstance("DES/CBC/PKCS5Padding");        ce.init(Cipher.ENCRYPT_MODE, skey, algParameters);        cd.init(Cipher.DECRYPT_MODE, skey, algParameters);        FileInputStream is = new FileInputStream("C:/Users/nikos7/Desktop/output.txt");        FileOutputStream os = new FileOutputStream("C:/Users/nikos7/Desktop/output2.txt");        int dataSize = is.available();        byte[] inbytes = new byte[dataSize];        is.read(inbytes);        String str2 = new String(inbytes);        System.out.println("Input file content\n" + str2 + "\n");        write_encode(inbytes, os);        os.flush();        is.close();        os.close();        System.out.println("Ecrypted Content to output2.txt\n");        is = new FileInputStream("C:/Users/nikos7/Desktop/output2.txt");        byte[] decBytes = new byte[dataSize];        read_decode(decBytes, is);        is.close();        String str = new String(decBytes);        System.out.println("Decrypted file contents:\n" + str);    }    public static void write_encode(byte[] bytes, OutputStream output) throws Exception {        CipherOutputStream cOutputStream = new CipherOutputStream(output, ce);        cOutputStream.write(bytes, 0, bytes.length);        cOutputStream.close();    }    public static void read_decode(byte[] bytes, InputStream input) throws Exception {        CipherInputStream cInputStream = new CipherInputStream(input, cd);        int position = 0, i;        while ((i = cInputStream.read()) != -1) {            bytes[position] = (byte) i;            position++;        }    }}
相关栏目:

用户点评