程序
# coding:utf-8
from Crypto.Cipher import AES # AES库
import os
import time
cryptor = AES.new(
b'0123456789012345',
AES.MODE_CBC, # 第一个参数为密钥, 第二个参数为操作模式, 第三个参数为初始向量IV;
b'0123456789012345') # b''表示以字节为单位, list和str函数用于bytes和str类型的转换;
filepath = 'C:\\Users\\VikingsWu\\Desktop\\test.txt' # 待加密文件的路径, 文件在windows下用fsutil工具生成;
fp = open(filepath, 'rb') # 文件是二进制格式, 设置文件句柄;
file_size = os.path.getsize(filepath) # 计算二进制文件的大小
msg = fp.read() # 读入文件, msg是byte list类型;
msg_size = len(msg) # 计算读入文件的长度;
begin_time = time.perf_counter()
ciphertext = cryptor.encrypt(msg) # 加密消息;
end_time = time.perf_counter()
run_time = end_time - begin_time # 计算运算时间;
print(run_time)
ciphertext_size = len(ciphertext) # 计算加密结果的长度, 密文和明文应当一样长;
print(ciphertext)