我想将两个预先计算的 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 校验值合二为一。对于长度为 len1 和 len2 的两个字节序列 seq1 和 seq2,分别计算 crc1 和 crc2 的 CRC-32 校验值。crc32_combine() 返回 seq1 和 seq2 连接的 CRC-32 校验值,只需要 crc1、crc2 和 len2。
但是我不知道如何在nodejs中实现它。nodejs 中是否有任何库可以执行此操作,或者可能有一些 GIST?任何人都可以在nodejs中提供该功能吗?