Python 获取异常:TypeError:new()缺少1个必需的位置参数:';模式';

Python 获取异常:TypeError:new()缺少1个必需的位置参数:';模式';,python,encryption,aes,pycryptodome,Python,Encryption,Aes,Pycryptodome,我想用AES加密来加密我的数据,我以前做过,但在我的笔记本电脑中,这种方法不起作用,并且给了我同样的错误,有没有办法修复它? 代码如下: from Crypto.Cipher import AES def paddedKey(key): while len(key)%8!=0: key +=' ' return key def paddingText(text): while len(text)%16!=0: text +=' '

我想用AES加密来加密我的数据,我以前做过,但在我的笔记本电脑中,这种方法不起作用,并且给了我同样的错误,有没有办法修复它? 代码如下:

from Crypto.Cipher import AES
def paddedKey(key):
    while len(key)%8!=0:
        key +=' '
    return key
def paddingText(text):
    while len(text)%16!=0:
        text +=' '
    return text
data = paddingText(input('Enter text to encrypt - '))
key = paddedKey(input('Enter key between 16-32 charachters - '))
if(len(key)<=16 & len(key)>=32):
    print('Key must me between 16 and 32 charachters')
cipher = AES.new(key)
ciphertext = cipher.encrypt(data)
# print(ciphertext)
# print(ciphertext.decode('cp855'))
print('Encrypted text = ',ciphertext)

从加密密码导入AES
def paddedKey(钥匙):
而len(key)%8=0:
键+=''
返回键
def paddingText(文本):
而len(text)%16=0:
文本+=''的
返回文本
data=paddingText(输入('输入要加密的文本-'))
key=paddedKey(输入('Enter key介于16-32字符之间-'))
如果(长度(键)=32):
打印('键必须介于16和32个字符之间')
密码=AES.new(密钥)
ciphertext=cipher.encrypt(数据)
#打印(密文)
#打印(密文解码('cp855'))
打印('加密文本=',密文)
但这段代码给了我一个错误: 回溯(最近一次呼叫最后一次): 文件“C:\Users\shati\Desktop\Python\Research\AES\u Extended.py”,第18行,在 密码=AES.new(密钥) TypeError:new()缺少1个必需的位置参数:“mode”

我正在使用pythone版本:Python3.6.8
Pip版本:Pip 20.1.1

PycryptoDome版本:PycryptoDome 3.9.8

从错误中可以明显看出,
新的
方法需要两个参数

检查这个

您必须将mode参数传递给
AES.new
函数。

并使用相同的模块名(
Crypto
)进行冲突,但pip允许您同时安装这两个模块


我安装了
pycrypto
,它不需要参数
mode
,但我安装的其他库需要
pycrptodome
,它是在我不知情的情况下安装的,然后我遇到了问题中描述的相同错误。

我使用此视频作为参考,它以前工作过。在笔记本电脑上安装新窗口后,它就不工作了。