java - 使用Java进行RSA解密

标签 java rsa encryption private-key

我正在尝试使用 RSA 解密字符串。它在 iPhone 上用 C# 加密,我有私钥。这似乎是一个愚蠢的问题,但我见过的所有示例都显示了生成私钥。我有私钥(它是十六进制的 byte[])。它使用 PKCS#1 填充。我不知道该怎么做的部分是使用我已有的私钥创建一个 java.security.Key 对象。

我需要让他们给我两部分的私钥...模数和指数吗?

提前致谢。

最佳答案

您需要通过 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);

关于java - 使用Java进行RSA解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1236481/

相关文章:

linux - linuxserver之间的无密码SSH连接要求输入密码

ssl - 哪些 TLS/SSL 密码套件被认为是弱/强?

java - 打开文件并访问特定索引处的特定字符

Java:如何在列表中存储数据三元组?

java - SOLR,独立于 Jetty 服务器或作为我现有 Tomcat 中的 Web 应用程序?

java - 混合加密方法失败

.net - 在 .NET 核心中实现 RSA

java - InvalidDataAccessApiUsageException : Parameter value [. ..] 与预期类型不匹配 [java.util.UUID (n/a)]

java - 如何创建 JComboBox 循环,以便同一个组合框出现多次?

c++ - 使用 CryptoPP 库加密和解密字节数组/vector