小编Zac*_*ing的帖子

Python PyCrypto使用AES加密/解密文本文件

我已经有了一个工作程序,但唯一不起作用的是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)

python encryption file aes pycrypto

11
推荐指数
1
解决办法
4万
查看次数

标签 统计

aes ×1

encryption ×1

file ×1

pycrypto ×1

python ×1