如何从byte []数组中恢复RSA公钥?

时间:2010-03-09 17:32:28

标签: java cryptography rsa

我想知道是否可以恢复之前转换为字节数组的RSA公钥。

byte[] keyBytes = publicKey.getEncoded();

感谢您的帮助。

3 个答案:

答案 0 :(得分:87)

PublicKey publicKey = 
    KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(bytes));

了解更多信息see this tutorial

答案 1 :(得分:33)

对于其他想要从字节数组中获取私钥而不是公钥的人:

PrivateKey privateKey = KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(privateKeyBytes));

答案 2 :(得分:0)

很棒的答案。谢谢你的链接。为了完整,我找到了这个Converted secret key into bytes, how to convert it back to secrect key?

SecretKey key2 = new SecretKeySpec(data, 0, data.length, "DES");

并且工作得非常好。