Возможно ли иметь функцию объединения() для CRC64/NVME?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Возможно ли иметь функцию объединения() для CRC64/NVME?

Сообщение Anonymous »

AWS S3 использует CRC64/NVME в качестве алгоритма контрольной суммы по умолчанию.
Мне нужно отправить конечную контрольную сумму CRC64/NVME.
Примечательно то, что я являюсь промежуточным программным обеспечением. Существует несколько потоков, которые отправляют байты. Я знаю смещение/длину этих байтов, но у меня никогда не бывает полной картины всего файла одновременно.
Мне нужна функция CRC join(), которая позволит мне вычислить CRC64/NVME для объединенных данных, используя только CRC отдельных блоков и смещения/длины.
Так, например, они должны быть равны:

Код: Выделить всё

combine(crc64nvme("abc"), 3, crc64nvme("def"), 3) == crc64nvme("abcdef")
Я знаю, что это возможно для многих вариантов CRC, но я не нашел решения для CRC64/NVME. Я попробовал искусственный интеллект, но после примерно 50 итераций он пришел к выводу, что это невозможно.
Мой вопрос состоит из двух частей: возможно ли это вообще и существует ли для этого эталонная реализация?

Подробнее здесь: https://stackoverflow.com/questions/798 ... crc64-nvme
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»