小编use*_*070的帖子

pycrypto - 长度不正确的密文

我用pycrypto生成了一个公钥和私钥,然后使用export key将它们保存到一个文件中:

from Crypto.PublicKey import RSA
bits=2048
new_key = RSA.generate(bits, e=65537)

prv = open('keymac.pem','w')
prv.write(new_key.exportKey('PEM'))
prv.close()
pub = open('pubmac.pem', 'w')
pub.write(new_key.publickey().exportKey('PEM'))
pub.close()
Run Code Online (Sandbox Code Playgroud)

我使用公钥加密文件(参见http://insiderattack.blogspot.com/2014/07/encrypted-file-transfer-utility-in.html#comment-form)

当我读取文件解密时,我得到"密文不正确".

我在Deepal Jayasekara示例的解密代码周围添加了一个try-except块:

try:
    encryptedonetimekey = filetodecrypt.read(512)
    privatekey = open("keymac.pem", 'r').read()
    rsaofprivatekey = RSA.importKey(privatekey)
    pkcs1ofprivatekey = PKCS1_OAEP.new(rsaofprivatekey)
    aesonetimekey = pkcs1ofprivatekey.decrypt(encryptedonetimekey)

   except Exception as decrypprivkeyerr:
       print "Decryption of the one time key using the private key        failed!!"
       print "Key error == %s" %decrypprivkeyerr
     raise Exception("Decryption using Private key failed error = %s" %decrypprivkeyerr)
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?我应该以不同方式保存私钥吗?我没有正确读取私钥吗?

python pycrypto

11
推荐指数
1
解决办法
5067
查看次数

标签 统计

pycrypto ×1

python ×1