求文件的hash值(基于SHA3的Hash)

时间:2023-03-09 21:28:31
求文件的hash值(基于SHA3的Hash)
import hashlib
import tkinter
from tkinter import filedialog
import pyperclip def fileHash(fileName):
m=hashlib.sha384() #可以根据需求来选择md5,256,384,512
with open(fileName,'rb') as file: #'rb'以二进制的格式打开一个文件
while True:
data=file.read(4096) #read() 方法用于从文件读取指定的字节数,如果未给定或为负则读取所有。
if not data:
break
m.update(data) #Continue hashing of a message by consuming the next chunk of data.
return m.hexdigest() def chooseFile():
root=tkinter.Tk() # 创建一个Tkinter.Tk()实例
root.withdraw() # 将Tkinter.Tk()实例隐藏
filename=tkinter.filedialog.askopenfilename(title=u'请选择文件') # 选择打开什么文件,返回文件名
return filename def pyperClip():
filename=chooseFile()
filehash=fileHash(filename)
pyperclip.copy(filehash)
print(filehash) if __name__ == "__main__":
pyperClip()