求檔案的hash值(基於SHA3的Hash)
阿新 • • 發佈:2018-12-21
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()