gpt4 book ai didi

java - .rsaEncryptionOAEPSHA256算法在iOS上与Java的兼容性

转载 作者:行者123 更新时间:2023-12-05 07:01:53 28 4
gpt4 key购买 nike

我正在尝试从 iOS 应用程序与 Java 后端进行通信。使用 .rsaEncryptionOAEPSHA256SecKeyCreateEncryptedData 中的算法对于encryption ,后端显示以下堆栈跟踪:

Caused by: java.lang.SecurityException: Exception thrown while invoking doFinal(byte[]).
at ... 101 common frames omitted
Caused by: javax.crypto.BadPaddingException: Decryption error
at java.base/sun.security.rsa.RSAPadding.unpadOAEP(RSAPadding.java:497)
at java.base/sun.security.rsa.RSAPadding.unpad(RSAPadding.java:292)
at java.base/com.sun.crypto.provider.RSACipher.doFinal(RSACipher.java:366)
at java.base/com.sun.crypto.provider.RSACipher.engineDoFinal(RSACipher.java:392)
at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2207)
... 103 common frames omitted

Java 后端正在使用 RSA/ECB/OAEPWithSHA-256AndMGF1Padding算法来自 SunJCE提供商。此提供商使用 SHA-1对于MGF1 摘要。但是 iOS 的默认设置是使用 SHA-256 .

  • 如何在 iOS 代码中更改它以使其兼容?

注意:需要说明的是,完全相同的交互目前在 .rsaEncryptionPKCS1 上运行良好在后端使用 RSA/ECB/PKCS1Padding 的 iOS 上在 Java 中。

最佳答案

面对同样的问题,根据我的研究和实验,在 iOS 上支持 RSA/ECB/OAEPWithSHA-256AndMGF1Padding 几乎是不可能的。

类似问题:Encrypt RSA/ECB/OAEPWithSHA-256AndMGF1Padding Swift

但这只解决了算法问题,没有解决填充问题。

关于java - .rsaEncryptionOAEPSHA256算法在iOS上与Java的兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63727889/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com