Python 如何读取RSA公钥以导入它

Python 如何读取RSA公钥以导入它,python,encryption,rsa,Python,Encryption,Rsa,我正在努力做到以下几点: PK_ID = RSA.importKey(PK_ID) 在后期使用PK_ID进行混合加密 但是我得到了一个错误: PK_ID = RSA.importKey(PK_ID) File "/usr/lib/python2.7/dist-packages/Crypto/PublicKey/RSA.py", line 682, in importKey raise ValueError("RSA key format is not supported

我正在努力做到以下几点:

  PK_ID = RSA.importKey(PK_ID)
在后期使用PK_ID进行混合加密

但是我得到了一个错误:

    PK_ID = RSA.importKey(PK_ID)
  File "/usr/lib/python2.7/dist-packages/Crypto/PublicKey/RSA.py", line 682, in importKey
    raise ValueError("RSA key format is not supported")
ValueError: RSA key format is not supported
他们的PK_ID为len 20和str型

要获取此值,我检索包含加密键的文档:

service-key
-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBALzyd52zz2UBbHxE7LbtVVtdLN/BcV0io7kQN2K7BXChExSlFd/KXuO1
FZ1Qc435BNgUXLhSPy7bEgmANY6ysK1FNVqt/X1rG9ZdPGRAxuD/Mv/HRnnBHHzn
IgRpDgcpq01vE50ezRrIGKrqRcyH4q/hLjSFhl1AdwMVraPk+By/AgMBAAE=
-----END RSA PUBLIC KEY-----
然后,我提取---之间的数据,然后使用decode base 64命令对其进行解码:

service_key_decrypted.append(base64.b64decode(i))
然后散列该值:

#Hashes an input with SHA1
def hash_item(i):
    hash_value = SHA.new()
    hash_value.update(i)
    hash_value = hash_value.digest()
    return hash_value
如何使用RSA.importKey命令导入此密钥


我也尝试过这个方法,但没有对其进行哈希运算,仍然会出现相同的错误

在导入之前,您是否尝试过将汽油倒在钥匙上并点火?也许这样行。认真地说,文档建议base64解码数据应该可以工作。您的RSA密钥采用PKCS#1 RsaPublicKey ASN.1格式。在您的代码片段中,您似乎将其附加到了某些内容上。不要那样做。你说“然后散列这个值”是什么意思?为什么?您如何处理哈希值?