`
bitan
  • 浏览: 24022 次
社区版块
存档分类
最新评论

Java 对象加密解密

    博客分类:
  • Java
 
阅读更多
import   java.io.*; 

import   javax.crypto.*; 
import   java.security.*; 

class   A 
        implements   Serializable   { 
        private   String   a; 
        public   String   getA()   { 
                return   a; 
        } 

        public   void   setA(String   a)   { 
                this.a   =   a; 
        } 
        public   String   toString(){ 
                return   a; 
        } 
} 

public   class   DESObjectToFile   { 
        public   static   void   main(String[]   args)   { 
                KeyGenerator   kg   =   null; 
                try   { 
                        //指定算法,这里为DES 
                        kg   =   KeyGenerator.getInstance( "DES ",   "SunJCE "); 

                        //指定密钥长度,长度越高,加密强度越大 
                        kg.init(56); 

                        //产生密钥 
                        Key   key   =   kg.generateKey(); 

                        //记得把密钥保存起来 
                        String   keyfilename= "d:\\key.dat "; 
                        
                        ObjectOutputStream   out   =   new   ObjectOutputStream(new 
                                BufferedOutputStream(new   FileOutputStream(keyfilename))); 
                        out.writeObject(key); 
                        out.close(); 

                        //加密要用Cipher来实现 
                        Cipher   cipher   =   Cipher.getInstance( "DES "); 

                        String   filename   =   "d:\\加密的对象.dat "; 
                        //读入并加密文件 
                        try   { 
                                //设置加密模式 
                                cipher.init(Cipher.ENCRYPT_MODE,   key); 
                                //输出流 
                                out   =   new   ObjectOutputStream(new   CipherOutputStream(new 
                                        BufferedOutputStream(new   FileOutputStream(filename)), 
                                        cipher)); 
                                A   aa   =   new   A(); 
                                aa.setA( "aaa "); 
                                out.writeObject(aa); 
                                
                                out.close(); 
                                System.out.println( "加密完成! "); 
                        } 
                        catch   (Exception   ey5)   { 
                                System.out.println( "Error   when   encrypt   the   file "); 
                                System.exit(0); 
                        } 

                        try   { 
                                //把key从文件取出 
                                ObjectInputStream   in   =new   ObjectInputStream(new 
                                        BufferedInputStream(new   FileInputStream(keyfilename))); 
                                key=(Key)in.readObject(); 
                                in.close(); 
                                
                                //设置解密模式 
                              cipher.init(Cipher.DECRYPT_MODE,   key); 
                                //输入流 
                                in   =new   ObjectInputStream(new   CipherInputStream(new 
                                        BufferedInputStream( 
                                                new   FileInputStream(filename)),   cipher)); 

                                Object   a=in.readObject(); 
                                System.out.println(a); 
                                in.close(); 
                                
                                System.out.println( "解密完成! "); 
                        } 
                        catch   (Exception   ey5)   { 
                                System.out.println( "Error   when   encrypt   the   file "); 
                                System.exit(0); 
                        } 
                } 
                catch   (Exception   e)   { 
                        e.printStackTrace(); 
                } 
        } 
} 
分享到:
评论

相关推荐

    java aes128/256 对称加密解密,rsa对称加密解密验签实现

    java aes128/256 对称加密解密,rsa对称加密解密验签实现,php java通用aes加密 支持任何形式的aes加密,文件,字符,字节等,内含php代码,可以与php平台实现aes加密,而且包含rsa非对称加密签名验签实现,都是对...

    java文件加密解密课程设计.doc

    " "3 设计任务 " "对文件进行加密解密 " "4 设计内容 " "4.1 需求分析 " "(1)给定任意一个文本文件,进行加密,生成另一个文件。 " "(2)对加密后的文件还原。 " "4.2 总体设计 " "4.2.1 包的描述 " "导入了java.awt...

    文件加密解密算法(Java源码)

    文件加密解密算法(Java源码) java,file,算法,加密解密,java源码 package com.crypto.encrypt; import java.security.SecureRandom; import java.io.*; import javax.crypto.spec.DESKeySpec; import javax.crypto...

    利用Java文件加密解密程序设计

    3.3加密操作模块 入口参数:字节数组 出口值:经DES算法加密过的字节数组 代码实现: private byte[] encryptByDES(byte[] bytP,byte[] bytKey) throws Exception{ DESKeySpec desKS = new DESKeySpec(bytKey); ...

    mybatis 存储数据对象数据自动加解密插件

    本插件是作用在数据层对数据对象进行自动加密和解密. 前提条件:使用mybatis的autoConfig自动配置装载

    json对象转为字符串,当做参数传递时加密解密的实现方法

    下面小编就为大家带来一篇json对象转为字符串,当做参数传递时加密解密的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java源码包---java 源码 大量 实例

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    Java毕业设计-基于JAVA的RSA文件加密软件的设计与实现(源代码+论文).rar

    * 源代码:完整的Java源代码,包括加密和解密功能的实现。 * 论文:详细描述了软件的设计思路、实现过程和关键技术分析。 适用对象: * Java学习者:通过学习和实践本项目,可以掌握RSA非对称加密算法的原理和应用...

    java调用MD5加密方式计算摘要值(有界面)

    java调用MD5加密方式计算摘要值(有界面)

    java源码包4

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    Iava 3DES加解密技术

    《3DES加解密技术》 java_DES加密解密源码 java实现DES加密算法 Java中3DES加密解密示例(封装byte数组16进制互转) JAVA中3des加密算法

    java源码包3

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    如何运用加密技术保护Java源代码

    Java运行时装入字节码的机制隐含地意味着可以对字节码进行修改。JVM每次装入类文件时都需要一个称为ClassLoader的对象,这个对象负责把新的类装入正在运行的JVM。JVM给ClassLoader一个包含了待装入类名字的字符串,...

    java源码包2

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    JAVA上百实例源码以及开源项目源代码

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    java阶段机试试题

    java阶段机试试题 部分内容如下,下载可看全部哦!! 二、凯撒加密器 1、功能要求 开发基于控制台的凯撒加密系统。具体要求如下: (1)根据用户的选择从控制台待加密或解密的字符串。如图-2和图-3所示。 (2)根据...

    JAVA上百实例源码以及开源项目

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    使用Java网络安全实现一个简单的文件加密系统.txt

    这个代码实现了一个简单的文件加密系统。首先定义了一个AES算法和一个密钥值,然后通过Cipher类和SecretKeySpec类生成了一个密钥...最后在main方法中创建了一个FileEncryption对象,并演示了如何加密和解密文件的操作。

    Java源码包100个设计实例.zip

    Java加密解密工具集 JCT v1.0源码包.rar Java半透明图片实现的步骤及源代码.rar Java右键弹出菜单源码 Java吃豆子游戏源代码.rar Java图片加水印,支持旋转和透明度设置 Java圆形按钮实例代码,含注释 Java圆形电子...

Global site tag (gtag.js) - Google Analytics