Noo*_*b14 5 python encryption cryptography rsa python-3.x
我正在尝试对一些 RSA 加密数据进行 base64 编码,但 RSA 加密返回一个元组,而 base64 编码需要一个类似字节的对象。
文件“C:\PATH\AppData\Local\Continuum\anaconda3\lib\base64.py”,第 58 行,b64encode 编码 = binascii.b2a_base64(s, newline=False)
类型错误:需要一个类似字节的对象,而不是“元组”
我正在寻找解决此问题的最佳方法的建议。
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))
Run Code Online (Sandbox Code Playgroud)
在这一行中,添加如下return base64.standard_b64encode(rsa_encrypt(data))索引:0
return base64.standard_b64encode(rsa_encrypt(data)[0])
Run Code Online (Sandbox Code Playgroud)
它会解决你的问题。
问题是rsa_encryptwill 返回一个包含两个项目的元组。第一项是与明文类型相同的密文(字符串或长整型)。第二项始终为“无”。
浏览此处获取更多信息。
| 归档时间: |
|
| 查看次数: |
944 次 |
| 最近记录: |