Ну, в основном это просто CRC . Слово бегущий будет означать, что вы должны рассчитывать его на лету, когда поступают данные, или что вы делаете кумулятивный расчет (именно так реализован CRC).
У вас есть хороший пример:
# Or you can compute the running CRC:
$crc = 0;
$crc = Archive::Zip::computeCRC32( 'abcdef', $crc );
$crc = Archive::Zip::computeCRC32( 'ghijkl', $crc );
Обратите внимание, как переменная $crc
установлена в 0 в начале, а обновленный дважды . Алгоритм расчета CRC использует предварительно рассчитанное значение CRC и обновляет it. Вот почему его иногда называют с запущенным CRC .
Из вашего кода я предполагаю, что у вас уже есть реализация, если нет, просто Google для CRC32.