首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java加密的RSA字符串在使用Python解密时包含额外的加密字符

使用Java加密的RSA字符串在使用Python解密时包含额外的加密字符
EN

Stack Overflow用户
提问于 2018-10-16 13:24:33
回答 1查看 287关注 0票数 2

我得到了由Java应用程序加密的RSA数据和以DER格式加密的RSA公钥。我使用pycrypto编写了一个简单的Python脚本来解密数据,但是输出包含似乎是加密的文本以及我正在寻找的内容。这是相当混乱的,不适合进一步处理。

原始字符串,我的预期输出类似于:

代码语言:javascript
复制
elem:1234567890:0987654321

加密数据的应用程序的所有者告诉我

  1. 从Base64解码字符串
  2. 使用他们提供给我的私钥解密字符串(DER格式)

我的Python脚本如下所示:

代码语言:javascript
复制
from Crypto.PublicKey import RSA
import base64
import sys
import ast
def decode_rsa(encryptedString, key_path):
    key = RSA.importKey(open(key_path).read())
    deocdedString = base64.b64decode(encryptedString)
    decrpytedString = key.decrypt(deocdedString)
    return decrpytedString

print decode_rsa(sys.argv[1], sys.argv[2])

但是当我运行代码时,我得到:

代码语言:javascript
复制
python decryptRSA.py Hh6+rJdFA0SPWvbLU8gxbrZXTnYXv3M/XlSU2IHgfGvIMXckrJk/3w7OSjadhNeyIHqzfXNXRexn721lmCh7QZbGXB/cKzuEDr9pAZU6kbrc1BWDLkTuOC5e+vAcV21sebuYQUyWjGGkuMrTtXw9nlT0+h9/GAzFS7wVTFE859w= private_key.der

uB▒#▒▒▒{4elem:1234567890:0987654321&i▒_+▒▒,▒I%▒▒▒▒▒▒(d>

你可以看到,我需要的是那里,但也有其他奇怪的角色回来。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-18 02:04:53

您正在对RSA加密文本进行原始解密。RSA要求填充是安全的。您需要使用填充模式-可能是OAEP - 如PyCrypto文档所示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52836519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档