JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--技术新闻--缓存区  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
Java生成RSA非对称型加密的公钥和私钥(利用java API)
作者:     文章来源:
访问次数:1次     加入时间:2005年01月01日
非对称型加密非常适合多个客户端和服务器之间的秘密通讯,客户端使用同一个公钥将明文加密,而这个公钥不能逆向的解密,密文发送到服务器后有服务器端用私钥解密,这样就做到了明文的加密传送。

非对称型加密也有它先天的缺点,加密、解密速度慢制约了它的发挥,如果你有大量的文字需要加密传送,建议你通过非对称型加密来把对称型‘密钥’分发到客户端,及时更新对称型‘密钥’。

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

/**
* <p>Title: RSA非对称型加密的公钥和私钥</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/

public class KeyRSA {
  private KeyPairGenerator kpg = null;
  private KeyPair kp = null;
  private PublicKey public_key = null;
  private PrivateKey private_key = null;
  private FileOutputStream public_file_out = null;
  private ObjectOutputStream public_object_out = null;
  private FileOutputStream private_file_out = null;
  private ObjectOutputStream private_object_out = null;

  /**
   * 构造函数
   * @param in 指定密匙长度(取值范围:512~2048)
   * @throws NoSuchAlgorithmException 异常
   */
  public KeyRSA(int in, String address) throws NoSuchAlgorithmException,FileNotFoundException, IOException 
      {
            kpg = KeyPairGenerator.getInstance("RSA"); //创建‘密匙对’生成器
            kpg.initialize(in); //指定密匙长度(取值范围:512~2048)
            kp = kpg.genKeyPair(); //生成‘密匙对’,其中包含着一个公匙和一个私匙的信息
            public_key = kp.getPublic(); //获得公匙
            private_key = kp.getPrivate(); //获得私匙
            //保存公匙
            public_file_out = new FileOutputStream(address + "/public_key.dat");
            public_object_out = new ObjectOutputStream(public_file_out);
            public_object_out.writeObject(public_key);
            //保存私匙
            private_file_out = new FileOutputStream(address + "/private_key.dat");
            
            private_object_out = new ObjectOutputStream(private_file_out);
            private_object_out.writeObject(private_key);
     }

  public static void main(String[] args) {
    try {
          System.out.println("私匙和公匙保存到C盘下的文件中.");
      new KeyRSA(1024, "c:/");
    }
    catch (IOException ex) {
    }
    catch (NoSuchAlgorithmException ex) {
    }
  }

}
JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号