使用什么模式在 Java 中解密来自 iPhone 的 RSA 消息?
我的朋友在 iPhone 上使用 PKCS1 填充加密了数据。
我怎样才能用Java解密这些数据?
Java 要求我指定“算法/密码模式/填充”。 填充和算法是已知的,但我们都不知道密码模式; 在 iPhone 上加密时未指定。
My friend has encrypted data with PKCS1 padding on an iPhone.
How can I decrypt that data in Java?
Java requires me to specify "algorithm/ciphermode/padding". The padding and the algorithm are known, but neither of us knows the cipher mode; it is not specified when encrypting on the iPhone.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 充气城堡 和 这段代码应该很简单
using bouncy castle and this code should be simple
RSA 并不真正使用“模式”;而是使用“模式”。 模式用于分组密码。
内置的 Sun 提供程序将接受“RSA/ECB/PKCS1Padding”作为
Cipher
名称。 ECB是“电子密码本”,它不会混合“块”与块之间的任何信息; 这是一种“无密码模式”。其他提供商接受“无”作为 RSA 的密码模式。
BouncyCastle 是一个很好的提供商。 但是,我不确定为什么在这种情况下您需要费心安装它。 SunJCE 提供程序将正常工作。
RSA doesn't really use a "mode"; modes are for block ciphers.
The built-in Sun provider will accept "RSA/ECB/PKCS1Padding" as a
Cipher
name. ECB is "Electronic Code Book", which doesn't mix any information from "block" to block; it is sort of "no cipher mode."Other providers accept "None" as a cipher mode with RSA.
BouncyCastle is a good provider. I'm not sure why you would need to take the trouble to install it in this case, however. The SunJCE provider will work fine.