Вопрос

Скажем, у меня есть количество файлов, для каждого из которых у меня есть дайджесты CRC32, MD5 и SHA1

Теперь это количество файлов на самом деле является разделенным файлами/архивами одного большого файла.

Когда эти меньшие файлы рекомбинируются/объединены в более крупный файл, мы также можем вычислить дадест этого большего файла.

У меня вопрос: есть ли способ проверить, равно ли комбинация диварийтов этих меньших файлов переварие большого файла?

Например, скажем, у меня есть файл, разделенный на 4 части с дайджестами 0xde, 0xad, 0xbe, 0xef

Скажем, после присоединения, более крупный файл имеет digest 0xc0

Есть ли способ проверить, что соединение (0xde, 0xad, 0xbe, 0xef) == 0xc0, где «соединение» - это магическая операция/формула/алгоритм, который я ищу?

Это было полезно?

Решение

Не думаю, извините
Это позволило бы легко взломать MD5, если бы это было возможно

редактировать. Если вы имеете в виду, могу ли я вычислить MD5 суммы из MD5 частей = нет.
Но если вы просто хотите подтвердить, что детали верны, вы всегда можете рассчитать MD5 каждой отдельной части, а затем MD5 набора этих MD5.
Очевидно, чтобы проверить его, вам нужно выполнить ту же последовательность, поэтому кто -то, у кого есть только полный файл, должен был разделить его, чтобы сделать ту же проверку.

Другие советы

Если вы не присоединитесь к файлам, вы можете передать их один за другим в хэш -алгоритм, используя метод Transformblock. С вызовом Transformfinalblock, который дает вам результат.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top