Разница SHA256 га sh производится по одному и тому же входному файлу - PullRequest
0 голосов
/ 26 апреля 2020

Я запутался здесь. У меня есть программа 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() ```
...