For at beregne en rekursiv SHA-1 checksum for en mappe, der indeholder undermapper, kan du følge disse generelle trin. Dette vil sikre, at algoritmen ikke er specifikt tilpasset en bestemt mappe:
Her er et eksempel på en Python-kode, der implementerer denne proces:
import os
import hashlib
def sha1sum(filename):
sha1 = hashlib.sha1()
with open(filename, 'rb') as f:
while True:
data = f.read(65536) # Læs filen i små bidder
if not data:
break
sha1.update(data)
return sha1.hexdigest()
def recursive_sha1sum(directory):
sha1 = hashlib.sha1()
for root, dirs, files in sorted(os.walk(directory)):
for names in sorted(dirs + files):
path = os.path.join(root, names)
if os.path.isfile(path):
sha1.update(sha1sum(path).encode('utf-8'))
else:
sha1.update(recursive_sha1sum(path).encode('utf-8'))
return sha1.hexdigest()
# Brug funktionen
directory_path = 'path/to/your/directory'
print(recursive_sha1sum(directory_path))
Bemærk:
sha1sum
beregner SHA-1 checksum for en enkelt fil.recursive_sha1sum
gennemgår rekursivt alle filer og undermapper og beregner en samlet SHA-1 checksum.Ved at følge denne metode kan du beregne en rekursiv SHA-1 checksum for enhver mappe uden at tilpasse algoritmen specifikt til den pågældende mappe.