Python 需要帮助识别错误:+;的操作数类型不受支持:'_hashlib.HASH';和';字节';

Python 需要帮助识别错误:+;的操作数类型不受支持:'_hashlib.HASH';和';字节';,python,encryption,cryptography,aes,hashlib,Python,Encryption,Cryptography,Aes,Hashlib,下面是我代码的一部分 import hashlib from Crypto.Cipher import AES from Crypto import Random 它在我的笔记本电脑上运行,但当我在另一台电脑上运行它时,出现以下错误: return cs + iv + en_cipher TypeError: unsupported operand type(s) for +: '_hashlib.HASH' and 'bytes' 我想我错过了安装一个软件包,但我不知道它是什么。我在任何

下面是我代码的一部分

import hashlib
from Crypto.Cipher import AES
from Crypto import Random

它在我的笔记本电脑上运行,但当我在另一台电脑上运行它时,出现以下错误:

return cs + iv + en_cipher
TypeError: unsupported operand type(s) for +: '_hashlib.HASH' and 'bytes'

我想我错过了安装一个软件包,但我不知道它是什么。我在任何地方都找不到此错误。

计算机上运行哪些Python版本,以及使用哪些库(即使用PyCrypto或PyCryptodome)?后一个问题尤其是关于你的
pad
方法。现代PyCryptodome支持使用自己的模块填充,但
pad
方法要求将块大小作为第二个参数。由于您的
pad
只需要纯文本,因此似乎使用了自定义填充。我在这两台机器上使用了相同版本的Python 3.6.8,并使用了PyCryptodome。我更新了上面的代码。例如,如果缺少
digest()
调用,即仅调用
cs=hashlib.md5(en_cipher)
,然后将
cs
与字节对象连接(如
iv
)时,就会出现错误消息。可能是复制/粘贴错误?不幸的是,我没有任何解释(除了有问题的计算机上的Python安装可能有问题)。由于某种原因,我的代码被修改了,它错过了另一台PC中的digest()调用。
return cs + iv + en_cipher
TypeError: unsupported operand type(s) for +: '_hashlib.HASH' and 'bytes'