快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

密钥对的存储和加载

主要用于数字签名:

1.存储密钥对

首先使用KeyPairGeneration产生密钥对:

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(1024);
KeyPair keyPair = keyGen.genKeyPair();
privateKey = keyPair.getPrivate();
publicKey = keyPair.getPublic();



将密钥存储为文件的方式:

FileOutputStream fs = new FileOutputStream(fileName);
fs.write(privateKey.getEncoded());
fs.close();

2.加载密钥对

假设公钥文件为public.dat、private.dat

首先读取公钥文件:

//read public key
FileInputStream fsPublicKey = new FileInputStream(publicKeyFile);
BufferedInputStream bfsPublicKey = new BufferedInputStream(fsPublicKey);
byte[] bytePublicKey = new byte[bfsPublicKey.available()];
bfsPublicKey.read(bytePublicKey);
bfsPublicKey.close();

使用KeyFactory产生公钥

//build public key
X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(
byteEncodedPublicKey);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PublicKey pubKey = keyFactory.generatePublic(pubKeySpec);



主意,私钥的的处理和公钥一样,唯一不同的是私钥的KeySpec不同。私钥应使用PKCS8EncodedKeySpec





返回类别: 教程
上一教程: "JAVA编程思想" 课程进展 一
下一教程: Java 程序中的多线程

您可以阅读与"密钥对的存储和加载"相关的教程:
· 测试spring的存储过程
· 浅谈Java中的存储空间类型
· Java程序员的存储过程
· 用JSP:INCLUDE指令动态加载文件
· 初探Java类加载机制
    微笑服务 优质保证 索取样品