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

基于密码口令的加密与解密,口令加密与解密,?package cn.

来源: javaer 分享于  点击 43621 次 点评:277

基于密码口令的加密与解密,口令加密与解密,?package cn.


?package cn.itcast.gz;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.PBEKeySpec;import javax.crypto.spec.PBEParameterSpec;/** *  *  *  *  *  * @author long *  */public class PBEKeySpecTest {    public static void main(String[] args) throws Exception {        Myencrypt();        Mydecryption();    }    /**     *      * @throws Exception     */    public static void Myencrypt() throws Exception {        //PBEWithMD5AndDES        Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");        //        PBEParameterSpec parameterSpec = new PBEParameterSpec(new byte[] { 1,                2, 3, 4, 5, 6, 7, 8 }, 9);        //        SecretKey key = SecretKeyFactory.getInstance("PBEWithMD5AndDES")                .generateSecret(new PBEKeySpec("123456789".toCharArray()));        //Cipher        cipher.init(Cipher.ENCRYPT_MODE, key, parameterSpec);        //        byte[] result = cipher.doFinal("aaaa".getBytes());        //         ObjectOutputStream objectOutputStream = new ObjectOutputStream(                new FileOutputStream(new File("F://xxx.key")));        objectOutputStream.writeObject(key);        //         FileOutputStream outputStream = new FileOutputStream(new File(                "F://xxx.data"));        outputStream.write(result);    }    /**     *      * @throws Exception     */    public static void Mydecryption() throws Exception {        Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");        PBEParameterSpec parameterSpec = new PBEParameterSpec(new byte[] { 1,                2, 3, 4, 5, 6, 7, 8 }, 9);        // key        ObjectInputStream objectInputStream = new ObjectInputStream(                new FileInputStream(new File("F://xxx.key")));        SecretKey key = (SecretKey) objectInputStream.readObject();        cipher.init(Cipher.DECRYPT_MODE, key, parameterSpec);        //         FileInputStream fileInputStream = new FileInputStream(new File(                "F://xxx.data"));        //ByteArrayOutputStream        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();        byte[] buffer = new byte[1024];        int len = 0;        while ((len = fileInputStream.read(buffer)) != -1) {            outputStream.write(buffer, 0, len);        }        fileInputStream.close();        //        byte[] data = cipher.doFinal(outputStream.toByteArray());        outputStream.close();        System.out.println(new String(data));    }}//该片段来自于http://byrx.net
相关栏目:

用户点评