作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将应用程序从 .NET 移植到 Spring 4 (Java)。如何在 Java 中对之前使用 .NET RSACryptoServiceProvider 加密的密码进行解密?我有 Java 背景。
我有一个来自 .NET 的 privatekey.xml 文件。这是私钥示例代码:
<RSAKeyValue>
<Modulus>dfgkjkdfg99444</Modulus>
<Exponent>ABCD</Exponent>
<P>dadskfkkeej3434j==</P>
<Q>sdakfksa/sdfd/sdf3wfsd==</Q>
<DP>sdERfdsf333==</DP>
<DQ>sdfsd222sdfEWEf==</DQ>
<InverseQ>kadkfimmds+/sdkks+/sdfsdkKKD==</InverseQ>
<D>sdfsadfsadfsadfdsafasdfsadfsadfdsafdsf=</D>
</RSAKeyValue>
问题:
真正的私钥在哪里?我可以用它作为盐来解密加密的文本吗?如何使用这个私钥在Java中编写解密函数? Java 中是否已经有一个函数可以接受这些参数?有例子吗?
我已经阅读了许多有关 RSA 的理论文章。但对于理解这种情况没有帮助。因此,专门用于在 Java 中处理这种情况的示例代码、Java 中的对应示例、有用文章的链接等将非常有帮助。
最佳答案
您已获得一个包含构成私钥的元素的 XML。这些元素采用 Base 64 编码。 Base 64 解码为字节数组。这些字节数组依次代表大或小整数编码数字。所有值共同构成私钥。
显然,您已经更改了这些值本身,因此进一步的操作将相当棘手。
所以基本上您需要执行以下步骤:
BigInteger
值RSAPrivateCrtKeySpec
中“RSA”
KeyFactory
中。由于您还拥有私有(private) D
值,因此您还可以使用 RSAPrivateyKeySpec
,但生成的 RSA 操作可能会更慢。
关于java - 在.NET 到 Java/Spring 中实现 RSA 公钥/私钥解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38549091/
我是一名优秀的程序员,十分优秀!