资源预览内容
第1页 / 共2页
第2页 / 共2页
亲,该文档总共2页全部预览完了,如果喜欢就下载吧!
资源描述
package com.ex8;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;import java.security.Key;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.NoSuchAlgorithmException;import java.security.PublicKey;import java.security.spec.InvalidKeySpecException;import java.security.spec.X509EncodedKeySpec;import javax.crypto.KeyGenerator;public class KeyGeneratorEx public static void main(String args) throws NoSuchAlgorithmException, IOException, InvalidKeySpecException KeyGenerator kg=KeyGenerator.getInstance(DESede);kg.init(168);Key key=kg.generateKey();byte bs=key.getEncoded();System.out.println(得到单钥加密密钥:+new String(bs);System.out.println(-);KeyPairGenerator kpg=KeyPairGenerator.getInstance(RSA);kpg.initialize(1024);KeyPair kp=kpg.generateKeyPair();bs=kp.getPublic().getEncoded();System.out.println(产生双玥的Public密钥对的公钥:+new String(bs);System.out.println(-);bs=kp.getPrivate().getEncoded();System.out.println(产生双玥的Private密钥对的私钥:+new String(bs);System.out.println(-);String path=E:+File.separator+forrest+File.separator+java+File.separator+key+File.separator+publicKey.dat;File f=new File(path);FileOutputStream fout=new FileOutputStream(f);fout.write(kp.getPublic().getEncoded();fout.flush();fout.close();System.out.println(PublicKey saved absolute path:+f.getAbsolutePath();System.out.println(-);path=E:+File.separator+forrest+File.separator+java+File.separator+key+File.separator+privateKey.dat;ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(new File(path);out.writeObject(kp.getPrivate();out.flush();out.close();System.out.println(PrivateKey saved);System.out.println(-);FileInputStream fin=new FileInputStream(f.getAbsoluteFile();ByteArrayOutputStream bout=new ByteArrayOutputStream();int bt=0;while(bt=fin.read()!=-1)bout.write(bt);fin.close();byte keyBytes=bout.toByteArray();/公钥解析X509EncodedKeySpec spec=new X509EncodedKeySpec(keyBytes);KeyFactory keyFactory=KeyFactory.getInstance(RSA);PublicKey pubKey=keyFactory.generatePublic(spec);System.out.println(Get the public key:+new String(pubKey.getEncoded();
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号