Я использую онлайн-конвертеры SHA256 для вычисления хеша для данного файла. Там я увидел эффект, которого не понимаю.
В целях тестирования я хотел вычислить хеш для очень простого файла. Я назвал его «test.txt», и его единственным содержимым является строка «abc», за которой следует новая строка (я только что нажал Enter).
Теперь, когда я помещаю "abc" и символ новой строки в генератор SHA256, я получаю хэш
edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb
Но когда я помещаю весь файл в тот же генератор, я получаю хэш
552bab6864c7a7b69a502ed1854b9245c0e1a30f008aaa0b281da62585fdb025
Откуда эта разница? Я использовал этот генератор (на самом деле, я пробовал несколько, и они всегда дают один и тот же результат):
https://emn178.github.io/online-tools/sha256_checksum.html
Обратите внимание, что это другое не возникает без перевода строки. Если файл содержит только строку «abc», хеш равен
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
для файла, а также только для содержимого.