如何在Python中捕获哈希更改?

2024-10-02 02:35:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我的目标是一个程序,它捕获文件夹中所有文件的散列更改,并打印关于某个文件被更改的消息(因此散列也被更改),但我不知道如何捕获该更改。目前,我的程序每10秒分析并显示文件夹中的所有文件哈希值

import glob
import hashlib
import threading

filenames = glob.glob("D:/Downloads/*")

def blake2s (fname):
    hash_blake2s = hashlib.blake2s()
    with open(fname, "rb") as f:
        for chunk in iter(lambda: f.read(2 ** 20), b""):
            hash_blake2s.update(chunk)
    return hash_blake2s.hexdigest()

def print_hashes():
    threading.Timer(10.0, print_hashes).start()
    for filename in filenames:
        print(filename, "\t\t", blake2s(filename))
    print ("")

print_hashes() 

Tags: 文件import程序文件夹defhashfilenamefname

热门问题