具体来说,每个文件都会有一个MD5的加密值,这个值来唯一标识这个文件
大文件加密算法:
# encoding: utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
############################导入相应的包###########################
import hashlib
import os
import time
#######################################定义大文件加密算法MD5#######################
# 大文件的MD5加密策略,方法是将大文件分块更新MD5值,最后得到最终的值。
def GetFileMd5(filename):
if not os.path.isfile(filename):
return
myhash = hashlib.md5()
f = file(filename,'rb')
while True:
b = f.read(8096)
if not b :
break
myhash.update(b)
f.close()
return myhash.hexdigest()
if __name__ == '__main__':
# filepath = raw_input(u'请输入文件路径:')
time1=time.time()
filepath="C:/pic/data/2017-09-19/debt_wnd_2017-09-19.xlsx"
# 输出文件的md5值以及记录运行时间
print GetFileMd5(filepath)
time2= time.time()
print u'总共耗时:' + str(time2 - time1) + 's'
输出结果:
"D:\Program Files\Python27\python.exe" D:/PycharmProjects/learn2017/大文件加密算法.py
078d610c609b13adb04f7aee9761c769
总共耗时:0.0s
Process finished with exit code 0
测试验证是否加密正确:
网站:
http://www.atool.org/file_hash.php