如何在 Javascript 中使用自定义多项式实现 CRC16?

How do I implement a CRC16 with a custom polynomial in Javascript?

背景

我需要在 Javascript 中使用自定义多项式实现 CRC16。

研究

在搜索了几个 NPM 模块和这个 SO 问题(以及评论建议的所有链接)之后:

离目标还差得很远

问题

我的问题是,即使我有代码,我也无法理解如何重新使用给定的 CRC16 解决方案,因为我不知道在代码中的何处可以找到多项式定义。随着所有的变化和诸如此类的东西,它对我来说太神秘了。

问题

如何使用自定义多项式创建 CRC16 函数?

链接的示例具有从 CRC 多项式导出的 table 。根据 CRC 的定义(多项式、位序、初始值、最终异或值),您当然可以找到 , given the polynomial. You can find code that computes any CRC, and code that generates CRC code,包括 table。