我已经有了一个工作程序,但唯一不起作用的是decrypt_file()我的功能.我仍然可以从文件中复制加密文本并将其放入我的decrypt()函数中并使其工作,但是当我尝试使用我应该使用的方便decrypt_file()函数时,它会抛出错误.现在我知道99.999%确定我encrypt()和decrypt()函数都没问题,但是当我读取并编码抛出错误的文本文件时,会有字节和字符串转换的内容; 我只是找不到挂断.请帮忙!
我的计划:
from Crypto import Random
from Crypto.Cipher import AES
def encrypt(message, key=None, key_size=256):
def pad(s):
x = AES.block_size - len(s) % AES.block_size
return s + ((bytes([x])) * x)
padded_message = pad(message)
if key is None:
key = Random.new().read(key_size // 8)
iv = Random.new().read(AES.block_size)
cipher = AES.new(key, AES.MODE_CBC, iv)
return iv + cipher.encrypt(padded_message)
def decrypt(ciphertext, key):
unpad = lambda s: s[:-s[-1]]
iv = ciphertext[:AES.block_size]
cipher = AES.new(key, AES.MODE_CBC, iv) …Run Code Online (Sandbox Code Playgroud)