hashdeep с sha1 и sha1sum создают различные результаты

Я вычислил sha1 хеш файла '/etc/mtab' с hashdeep на Ubuntu 16.04. Затем я вычислил sha1 хеш того же файла с sha1sum. И я получил другой хеш!

При вычислениях хешей для других файлов обе программы, кажется, создают тот же хеш. Наконец, я скопировал файл в другой компьютер и запустил эти две программы там. На втором компьютере они оба вычислили тот же хеш, который был вычислен на первом компьютере sha1sum. Наконец, я проверил файл '/etc/mtab' на втором компьютере, не скопированном, с hashdeep и sha1sum, и я также получил различные результаты снова.

То же идет для sha256 при использовании hashdeep и sha256sum.

Я звоню hashdeep -c sha256 /etc/mtab и sha256sum /etc/mtab

Кто-либо знает, как это может произойти? Существует ли кэширующаяся реализация для hashdeep, таким образом более старые хеши хранятся?

0
задан 16 September 2017 в 09:37

1 ответ

Я просто выполнил это в своей системе, и она подходила, они были моими результатами:

Работал: hashdeep -c sha256 Xwrapper.config

%%%% HASHDEEP-1.0
%%%% size,sha256,filename
## Invoked from: /home/george/Documents/askubuntu
## $ hashdeep -c sha256 Xwrapper.config
## 
630,c53eb030a8f9a2f7c08dd04e3611c9470f840d90d1261ef3e6643b1d1aff8608,/home/george/Documents/askubuntu/Xwrapper.config

Работал: sha256sum Xwrapper.config

c53eb030a8f9a2f7c08dd04e3611c9470f840d90d1261ef3e6643b1d1aff8608  Xwrapper.config

Хорошо позвольте, объясняют настолько лучше всего, как я могу после проверки нескольких вещей, я вижу некоторую вещь о как hashdeep и sha256sum посмотрите symbolic links. Когда я делаю stat /etc/mtab Я вижу, что размер 19, но когда я работаю (с l, опция ссылки):

 hashdeep -o l /etc/mtab

Это возвращается только, если я делаю:

 hashdeep -o f /atc/mtab

Это возвращает хеш ниже, но обратите внимание, что размер 0 отличающийся, от какой stat /ec/mtab дал ранее:

 %%%% HASHDEEP-1.0
 %%%% size,md5,sha256,filename
 ## Invoked from: /etc
 ## $ hashdeep -o lf /etc/mtab
 ## 0,d41d8cd98f00b204e9800998ecf8427e,e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,/etc/mtab

Это рассматривает файл как регулярный файл, так как я использовал f опция и следовательно сообщает или вычисляет sha256 из пустого файла, тогда как sha256sum рассматривает его как a symbolic link и размера 19. Так просто помещенный, когда файл является регулярным файлом, он дает подобные результаты, но не, итак, когда a link.

Обратите внимание, что тот файл является ссылкой на proc/self/mounts который hashdeep все еще видит как 0 в размере, но замечен stat как 19 размер, таким образом, hashdeep переходит по той ссылке, но, кажется, не может считать содержание или видеть содержание того файла. Это действительно однако видит /etc/vtrgb как непустой файл, таким образом, я предполагаю /etc/mtab ссылка на /proc/self/mounts вопросы.

Это даже становится более интересным и подтверждает мое подозрение о /etc/mtab ссылка на /proc/self/mounts поскольку я выполнил это на другой ссылке hashdeep /etc/vtrgb:

%%%% HASHDEEP-1.0
%%%% size,md5,sha256,filename
## Invoked from: /etc
## $ hashdeep /etc/vtrgb
## 158,1fb3c13c4fcfa8cc4131aba905df559e,684cd905549f78e025870dd5c8a3835e49f79f2bb08952eb7424537f6df5fa13,/etc/vtrgb

Поскольку Вы отметите, что размер не является нулем, как имел место с /etc/mtab, и выполнение:

 sha256sum /etc/vtrgb

Возвращает то же checksum:

 684cd905549f78e025870dd5c8a3835e49f79f2bb08952eb7424537f6df5fa13  /etc/vtrgb

Дальнейшее расследование показывает это hashdeep возвращает то же hash

0,d41d8cd98f00b204e9800998ecf8427e,e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

для всех файлов и каталога в /proc/ который является на самом деле a pseudo filesystem следовательно их информация хранится в памяти не на диске. Принимая во внимание, что sha256sum не делает только отличающиеся возвраты checksum для этих тех же файлов.

0
ответ дан 2 November 2019 в 06:27

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

Похожие вопросы: