程序
# coding:utf-8
from Crypto.Hash import MD5 # MD5库
import os
import time
# 待计算杂凑的文件路径, 文件在windows下用fsutil工具生成;
filepath = 'C:\\Users\\VikingsWu\\Desktop\\test.txt'
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()
hash_object = MD5.new(msg) # 计算消息的杂凑值;
end_time = time.perf_counter()
run_time = end_time - begin_time # 计算运算时间;
print(run_time)
ciphertext_size = len(hash_object.digest()) # 计算加密结果的长度, 密文和明文应当一样长;
print(hash_object.digest())