Java RSA公钥导出
这是我的密码Java RSA公钥导出,java,security,jce,Java,Security,Jce,这是我的密码 KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); KeyPair myPair = kpg.generateKeyPair(); PrivateKey k = myPair.getPrivate(); System.out.print(k.serialVersionUID); Cipher c = Cipher.getInstance("RSA"); c.i
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
KeyPair myPair = kpg.generateKeyPair();
PrivateKey k = myPair.getPrivate();
System.out.print(k.serialVersionUID);
Cipher c = Cipher.getInstance("RSA");
c.init(Cipher.ENCRYPT_MODE, myPair.getPublic());
String myMessage = new String("Testing the message");
byte[] bytes = c.doFinal(myMessage.getBytes());
String tt = new String(bytes);
System.out.println(tt);
Cipher d = Cipher.getInstance("RSA");
d.init(Cipher.DECRYPT_MODE, myPair.getPrivate());
byte[] temp = d.doFinal(bytes);
String tst = new String(temp);
System.out.println(tst);
我的问题是如何获取公钥并将其存储在其他位置
PublicKey pubKey = myPair.getPublic();
byte[] keyBytes = pubKey.getEncoded();
将keyBytes保存为二进制文件或将其存储在某个位置
这样做可以重建密钥
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
X509EncodedKeySpec pubKeySpec
= new X509EncodedKeySpec(keyBytes);
PublicKey pubKey = keyFactory.generatePublic(pubKeySpec);