首页 > 解决方案 > Python3 Base64 编码 PyDes 3DES 对象

问题描述

您好我正在尝试创建一个函数,通过该函数由使用 3DES 的服务器生成令牌,然后将其进行 Base64 编码并发送到客户端应用程序。

我正在尝试使用pyDes密钥对字符串进行加密,然后对要发送的值进行 base64 编码。

我尝试将对象转换为字节、字符串等,但我得到了各种错误,类似于下面。

我正在尝试做的事情是否可行,或者我是否会用这个解决方案陷入困境?

import pyDes
import base64
key1 = b"abcdefghijklmnopqrstuvwx"
data = bytes("messagepart1" + "messagepart2", encoding='utf8')
k = pyDes.triple_des(key1, pyDes.ECB, b"\0\0\0\0\0\0\0\0", pad=None, padmode=pyDes.PAD_PKCS5)
# e = k.decrypt(data)
print(base64.b64encode(bytes(k)))

错误:

python3 triple_des.py 
Traceback (most recent call last):
  File "triple_des.py", line 7, in <module>
    print(base64.b64encode(bytes(k)))
TypeError: cannot convert 'triple_des' object to bytes

标签: python-3.x3des

解决方案


推荐阅读