RSA用Java解密

时间:2009-08-06 00:57:11

标签: java rsa encryption private-key

我正在尝试使用RSA解密字符串。它在iPhone上用C#加密,我有私钥。这似乎是一个愚蠢的问题,但我看到的所有示例都显示生成私钥。我有私钥(它是十六进制的byte [])。它使用PKCS#1填充。我无法弄清楚如何做的部分是用我已经拥有的私钥创建一个java.security.Key对象。

我是否需要让他们给我2个部分的私钥...模数和指数?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您需要通过RSAPrivateKeySpec。这是一个例子(基于this):

        BigInteger n = new BigInteger(nBytes);
        BigInteger p = new BigInteger(pBytes);
        RSAPrivateKeySpec privateSpec = new RSAPrivateKeySpec(n, p);
        KeyFactory kf = KeyFactory.getInstance("RSA");
        Key privateKey = kf.generatePrivate(privateSpec);