Я запутался здесь. У меня есть программа python, которая принимает файл в качестве входных данных и производит SHA256 га sh (см. Ниже, пожалуйста). Я запустил функцию на windows, затем перенес ту же функцию на Ubuntu (виртуальную машину), создаются разные хэши. Затем я решил использовать онлайн-инструменты, чтобы определить правильный ха sh. У онлайн-инструмента есть два варианта: либо вы sh из файла, найдя его на своем P C, либо введя содержимое файла. Сначала я просмотрел файл с моего P C (windows), затем произвел га sh. Во-вторых, я скопировал содержимое файла и произвел ха sh. Что меня смущает, так это то, что хэши снова разные, но их содержание одинаково. Когда я просматривал файл, полученный ha sh был таким же, как ha sh, созданный функцией на windows, и когда я набирал тот же контент, то полученный ha sh был таким же, как ха sh производится функцией на Ubuntu.
Что заставляет эти хеши быть разными, я что-то здесь упускаю?
Вот код:
def compute_file_hash(file):
BLOCKSIZE = 65536
sha = hashlib.sha256()
with open(file, 'rb') as f:
file_buffer = f.read(BLOCKSIZE)
while len(file_buffer) > 0:
sha.update(file_buffer)
file_buffer = f.read(BLOCKSIZE)
return sha.hexdigest() ```