Java安全之对称加密与非对称加密

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 17:07 点击:

Java中加密分为两种方式一个是对称加密,另一个是非对称加密。对称加密是因为加密和解密的钥匙相同,而非对称加密是加密和解密的钥匙不同。

对称加密与非对称加密的区别:

对称加密称为密钥加密,速度快,但加密和解密的钥匙必须相同,只有通信双方才能知道密钥。

非对称加密称为公钥加密,算法更加复杂,速度慢,加密和解密钥匙不相同,任何人都可以知道公钥,只有一个人持有私钥可以解密。
对称加密解密:

     /*
     * 对称加密
     */ 
    private static void secretEncrypt() throws Exception { 
        //使用Cipher的实例 
        Cipher cipher =Cipher.getInstance("AES"); 
         
        //得到加密的钥匙 
        SecretKey key =KeyGenerator.getInstance("AES").generateKey(); 
         
        //初始化加密操作,传递加密的钥匙 
        cipher.init(Cipher.ENCRYPT_MODE,key); 
         
        //将加密的钥匙写入secretKey.key文件中 
        FileOutputStream fosKey=new FileOutputStream("secretKey.key"); 
        ObjectOutputStream oosSecretKey =new ObjectOutputStream(fosKey); 
        oosSecretKey.writeObject(key); 
        oosSecretKey.close(); 
        fosKey.close(); 
          
         //将加密的内容传递进去,返回加密后的二进制数据 
        byte [] results =cipher.doFinal("哈哈哈哈哈".getBytes()); 
         
        //将加密后的二进制数据写入到secretContent.dat文件中 
        FileOutputStream fosData=new FileOutputStream("secretContent.dat"); 
        fosData.write(results); 
        fosData.close(); 
    } 
     
    /*
     * 对称解密
     */ 
    private static void secretDecrypt() throws Exception{ 
        Cipher cipher =Cipher.getInstance("AES"); 
         
        //获取文件中的key进行解密 
        FileInputStream fisKey=new FileInputStream("secretKey.key"); 
        ObjectInputStream oisKey =new ObjectInputStream(fisKey); 
        Key key =(Key)oisKey.readObject(); 
        oisKey.close(); 
        fisKey.close(); 
         
        //初始化解密操作,传递加密的钥匙 
        cipher.init(Cipher.DECRYPT_MODE,key); 
         
        //获取文件中的二进制数据&

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Gb2312转utf-8编码的方法(vbs+js)
    • 如何使用Ajax技术开发Web应用程序(1)
    • js跳转路径问题
    • JavaScript模仿桌面窗口
    • 用js检测两个线段是否相交
    • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
    • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
    • 我是如何去了解jquery的(六),案例之幻灯片轮换
    • Jquery封装幻灯片效果
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1