要是能重来,我肯定会勇敢一次

  加密

from Crypto.Cipher import AES
import base64

def encrypt_file(file_path, key):
    chunk_size = 64 * 1024 
    cipher = AES.new(key.encode(), AES.MODE_ECB)
    
    with open(file_path, 'rb') as file:
        data = file.read()
        encoded_data = base64.b64encode(data)
        encrypted_data = cipher.encrypt(pad(encoded_data))
        encrypted_data = base64.b64encode(encrypted_data)
        with open('encrypted_' + file_path, 'wb') as encrypted_file:
            encrypted_file.write(encrypted_data)

def pad(data):
    padding = AES.block_size - (len(data) % AES.block_size)
    return data + bytes([padding] * padding)

def encrypt_string(input_string):
    # 将字符串转换为字节流
    input_bytes = input_string.encode('utf-8')
    # Base64编码
    encoded_bytes = base64.b64encode(input_bytes)
    # 将字节流转换回字符串
    encoded_string = encoded_bytes.decode('utf-8')
    return encoded_string

input_string = "密钥计算"
encoded_string = encrypt_string(input_string)
print("原始字符串:", input_string)
print("编码后字符串:", encoded_string[0:16])

key = encoded_string[0:16]
file_path = 'path'
encrypt_file(file_path, key)

  解密

from Crypto.Cipher import AES
import base64

def decrypt_file(file_path, key):
    chunk_size = 64 * 1024 
    cipher = AES.new(key.encode(), AES.MODE_ECB)
    
    with open(file_path, 'rb') as encrypted_file:
        encrypted_data = encrypted_file.read()
        encrypted_data = base64.b64decode(encrypted_data)
        decrypted_data = unpad(cipher.decrypt(encrypted_data))
        decoded_data = base64.b64decode(decrypted_data)
        with open('decrypted_' + file_path, 'wb') as decrypted_file:
            decrypted_file.write(decoded_data)

def unpad(data):
    padding = data[-1]
    return data[:-padding]


key = '1616161616161616'
file_path = 'path'
decrypt_file(file_path, key)