Если не оцифровывать записи до 1 января 1970 года, мне нравится эпоха UNIX. Это просто вопрос предпочтения, с целыми числами без знака проще иметь дело при использовании нескольких языков.
Просто имейте в виду, эпоха начинается с 1 января 1970 года. Многие компании были в бизнесе в течение десятилетий, если не дольше, до этого.
Ну, в основном это просто 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 и обновляет его. Вот почему его иногда называют с запуском CRC .
Из вашего кода я предполагаю, что у вас уже есть реализация, если нет, просто Google для CRC32.