|
0
vde69
12.03.12
✎
09:28
|
есть большей файл (несколько гигов), разово вычисляю CRC (алгоритм блочный по 255 байт), тут все нормально
но есть необходимость изменить 1 байт в файле, мне не хочется заново расчитывать весь гиг, хочу заново расчитать только блок в 255 байт и на основании старой суммы CRC и данных одного блока собрать новую CRC, кто знает возможно-ли это в принцепе?
|
|
|
6
Torquader
12.03.12
✎
10:24
|
Основным свойством CRC является перемешиваемость битов, то есть сложно определить влияние конкретного изменённого бита на результат.
В итоге, конечно, есть возможность вычислять блок CRC до изменения, сохранять этот результат, а потом продолжать вычисление с места, где было сделано изменение.
Но этот фокус возможен, если достоверно известно, в каком месте будет проводиться изменение.
Можно, конечно, сохранять блок расчёта чуть ли не для каждого мегабайта в файле и пересчитывать только те блоки, которые изменились, но это потребует достаточно много места.
|
|