Проверка файлов дайджестов
-
19-09-2019 - |
Вопрос
Скажем, у меня есть количество файлов, для каждого из которых у меня есть дайджесты CRC32, MD5 и SHA1
Теперь это количество файлов на самом деле является разделенным файлами/архивами одного большого файла.
Когда эти меньшие файлы рекомбинируются/объединены в более крупный файл, мы также можем вычислить дадест этого большего файла.
У меня вопрос: есть ли способ проверить, равно ли комбинация диварийтов этих меньших файлов переварие большого файла?
Например, скажем, у меня есть файл, разделенный на 4 части с дайджестами 0xde, 0xad, 0xbe, 0xef
Скажем, после присоединения, более крупный файл имеет digest 0xc0
Есть ли способ проверить, что соединение (0xde, 0xad, 0xbe, 0xef) == 0xc0, где «соединение» - это магическая операция/формула/алгоритм, который я ищу?
Решение
Не думаю, извините
Это позволило бы легко взломать MD5, если бы это было возможно
редактировать. Если вы имеете в виду, могу ли я вычислить MD5 суммы из MD5 частей = нет.
Но если вы просто хотите подтвердить, что детали верны, вы всегда можете рассчитать MD5 каждой отдельной части, а затем MD5 набора этих MD5.
Очевидно, чтобы проверить его, вам нужно выполнить ту же последовательность, поэтому кто -то, у кого есть только полный файл, должен был разделить его, чтобы сделать ту же проверку.
Другие советы
Если вы не присоединитесь к файлам, вы можете передать их один за другим в хэш -алгоритм, используя метод Transformblock. С вызовом Transformfinalblock, который дает вам результат.