【发布时间】:2019-09-07 09:53:24
【问题描述】:
我正在尝试对一些 RSA 加密数据进行 base64 编码,但 RSA 加密返回一个元组,并且 base64 编码需要一个类似字节的对象。
文件“C:\PATH\AppData\Local\Continuum\anaconda3\lib\base64.py”,第 58 行,b64encode 编码 = binascii.b2a_base64(s, newline=False)
TypeError: 需要一个类似字节的对象,而不是“元组”
我正在寻找解决此问题的最佳方法的建议。
from Crypto.Cipher import AES
from Crypto.PublicKey import RSA
def rsa_encrypt(data):
return pub_keyObj.encrypt(data, 32)
def rsa_encrypt_base64(data):
return base64.standard_b64encode(rsa_encrypt(data))
encrypted_data = aes_encode(data, key, iv) #AES encoding is working fine
print("EncryptedString: ", rsa_encrypt_base64(encrypted_data))
【问题讨论】:
-
那个元组的内容是什么?,你能发一个数据、键和iv的例子吗?
-
元组的内容是 rsa 加密和类似 (b'.....e\x89, ' ,) 之类的“空”,其中 .... 以字节表示很多。
-
数据可以是字符串或其他我想要加密的东西。生成密钥和 IV 以进行 AES 加密.. 这部分工作正常。
标签: python python-3.x encryption cryptography rsa