Member 14207297 Ответов: 1

Хеширование жесткого диска ?


Ищете какой-нибудь код, который может хэшировать весь физический жесткий диск для проекта

Необходимость хэширования дисковода/твердотельных накопителей при клонировании и создании изображений

Что я уже пробовал:

Я пробовал искать, как реализовать хеширование для физического диска, но не нашел ничего конкретного.

Nirav Prabtani

Зачем вам нужно делать хэширование всего жесткого диска ??

Member 14207297

Чтобы определить, что данные диска, скопированные с исходного диска disk0 на целевой диск disk1, реплицируются на 100%, включая свободные области

#realJSOP

Как вы собираетесь хэшировать свободное место на диске?

Member 14207297

Нам нужно рассмотреть физический диск вместо логического диска. В этом случае мы читаем весь диск в формате raw. Это можно просмотреть через hex viewer сектор за сектором. Таким образом, теперь хэш-значения должны быть сгенерированы путем рассмотрения данных диска бит за битом или же сектор за сектором. Это поможет сгенерировать хэш всего физического диска.

Richard MacCutchan

Вам нужно получить доступ к необработанным секторам, чтобы прочитать весь диск. Google для образцов и объяснений.

Member 14207297

Можете ли вы поделиться несколькими примерами специально на языке C++.

#realJSOP

Он сказал, что Гугл для получения информации. Она, вероятно, обширна и не подходит для публикации здесь.

Member 14207297

Я могу получить доступ к жестким дискам через createfile() и даже прочитать весь жесткий диск целиком .
Теперь мне нужна помощь для генерации хэш-значения (MD5 или SHA1) после клонирования данных на другом диске или создания файла образа

Richard MacCutchan

Google найдет вам множество примеров хэширования MD5.

Member 14207297

Я знаю о хешировании MD5 с файлом/текстом, но мне нужна помощь со всем хешированием диска .
Например, заголовочный файл с функцией и тем, какой параметр нужно передать.

Richard MacCutchan

Форма исходных данных не имеет значения. Хэш-алгоритм просто считывает потоки байтов и создает из них значение. Идет ли он из файла, необработанного диска, подключения к интернету, не имеет значения.

1 Ответов

Рейтинг:
2

OriginalGriff

Хэширование работает с потоком байтов или чем - то подобным-ему все равно, откуда вы получаете эти данные. Поэтому, пока вы можете читать свое свободное пространство, вы можете включить его в хэш-значение. Однако я бы этого не сделал по тем же причинам, что и большинство систем резервного копирования - это технически неуместные данные, которые занимают ценное пространство для резервного копирования, а также представляют потенциальную угрозу безопасности.

Любые байты, которые вы предоставляете алгоритму хэширования, будут использоваться для генерации хэш-кода, поэтому вы можете использовать любой алгоритм хэширования, который считаете подходящим. Я бы предложил для этого MD5, несмотря на то, что он "сломан", поскольку нет никакой попытки отменить код, и это не приложение безопасности - оно намного быстрее, чем SHA-512 или подобное, и обеспечит аналогичный уровень "подтверждения".

Быстрый google найдет вам массу информации о MD5 и SHA-хэшах.