Ers*_*man 5 python java android pycrypto
我从后端获得了一些用于解密一些数据的 Python 代码。在我这边,Android 应用程序,我也需要解密它。
以下是我认为最相关的一些 Python 代码片段。
cipher = PKCS1_OAEP.new(privkey)
Run Code Online (Sandbox Code Playgroud)
这是它来自的模块
from Crypto.Cipher import PKCS1_v1_5
from Crypto.Cipher import PKCS1_OAEP
Run Code Online (Sandbox Code Playgroud)
查看https://www.dlitz.net/software/pycrypto/api/2.6/Crypto.Cipher.PKCS1_OAEP-module.html的文档PKCS1_OAEP.new
然后与 Cipher 的 JavaDoc 进行比较 https://docs.oracle.com/javase/6/docs/technotes/guides/security/StandardNames.html#Cipher
我推断出这个 Python 算法可以使用 Java Cipher 类表达如下(注意代码是用 Kotlin 编写的)
val cipher = Cipher.getInstance("RSA/NONE/OAEPWithSHA1AndMGF1Padding", "BC")
Run Code Online (Sandbox Code Playgroud)
请注意,BC 是提供者。我发现BouncyCastle很受欢迎并且包含在Android框架中
那么错误是什么?
当挑战的答案错误时,后端会返回 404。当我执行 Python 代码(到达相同的端点)时,它起作用了。就POST请求而言,我比较了两者,并且我以正确的方式发送它。
我想知道什么
我使用了正确的算法吗?我正在尝试系统地排除潜在问题,然后再转向另一个问题
请注意,我也尝试过
val cipher = Cipher.getInstance("RSA/NONE/OAEPPadding", "BC")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
439 次 |
| 最近记录: |