我使用 Crypto.cipher 编写了一个代码,它将遍历目录/子目录中的所有文件并使用 AES-ECB 对其进行加密。现在的问题是,由于某种原因我得到这个错误:
raise ValueError("Error %d while encrypting in ECB mode" % result) ValueError: Error 3 while encrypting in ECB mode
我尝试将字节转换为 base64,但我仍然遇到同样的问题,起初我认为它可能只是某些文件以不同的方式编码,但后来我查看了列表和一些给出这个的文件例外是 .txt,其中只有一些数字,所以我不确定问题出在哪里。
with open(loc, 'rb') as file:
data = file.read()
Edata = Encrypt(data)
这就是我加密它的方式:
def Encrypt(msg): #AES
pad = lambda x: x + (SIZE - len(x) % SIZE) * PADDING
print(type(msg))
msg = pad(msg)
cipher = AES.new(hkey,AES.MODE_ECB)
cipherTxt = cipher.encrypt(msg)
return cipherTxt
编辑:python 3.6
def Decrypt(msg): #AES
decipher = AES.new(hkey,AES.MODE_ECB)
plain = decipher.decrypt(msg)
index = plain.find(b".")
original = msg[:index]
return original
扬帆大鱼
相关分类