Исправлен хеш файла с sha512

Я использую этот код для хеширования файлов, однако хеши меняются каждый раз, когда я запускаю скрипт ... Как получить фиксированный хеш, пожалуйста? Может быть, есть случайное семя, мне для этого не нужно.

У меня просто есть список файлов в папке, и мне нужен их уникальный фиксированный хеш для каждого из них:

      import sys
import os
import hashlib

# BUF_SIZE is totally arbitrary, change for your app!
BUF_SIZE = 65536  # lets read stuff in 64kb chunks!

files = [f for f in os.listdir('.') if os.path.isfile(f)]

sha512 = hashlib.sha512()

hashes = []

for file in files:
    with open(file, 'rb') as f:
        while True:
            data = f.read(BUF_SIZE)
            if not data:
                break
            sha512.update(data)
    hashes.append(file+"|"+sha512.hexdigest())

with open("hash.txt", 'w+') as f:
    for h in hashes:
        f.write(h+'\n')
        print(h)

Результатом является файл с каждым именем и хешем файла. Все хэши файлов должны быть одинаковыми каждый раз, когда я запускаю скрипт (не в случае rn)

0 ответов

Другие вопросы по тегам