Я хочу объединить два предварительно рассчитанных crc32 в новый:
Пример кода в nodejs:
// i'm using crc32 lib: https://github.com/brianloveswords/buffer-crc32/blob/master/index.js
var crc32 = require('buffer-crc32');
var foo = new Buffer('foo');
var bar = new Buffer('bar');
var fooCrc32 = crc32(foo); // <Buffer 8c 73 65 21>
var barCrc32 = crc32(bar); // <Buffer 76 ff 8c aa>
// how to combine crc32 of foo and crc32 of bar to get crc32 of 'foobar'
var foobarCrc32 = some_function(fooCrc32, barCrc32); // <Buffer 9e f6 1f 95>
Как сделать это в nodejs? Я знаю, что это возможно из-за функции zlib crc32_combine:
ZEXTERN uLong ZEXPORT crc32_combine OF ((uLong crc1, uLong crc2, z_off_t len2)); Объедините два контрольных значения CRC-32 в одно. Для двух последовательностей байтов, seq1 и seq2 с длинами len1 и len2, для каждой были вычислены контрольные значения CRC-32, crc1 и crc2. crc32_combine () возвращает контрольное значение CRC-32 для конкатенированных seq1 и seq2, требуя только crc1, crc2 и len2.
Но я не знаю, как это реализовать в nodejs. Есть ли в nodejs какая-нибудь библиотека, которая делает это, или, может быть, какой-то GIST? Может ли кто-нибудь предоставить эту функцию в nodejs?