我需要在Javascript中使用自定义多项式实现CRC16。
在搜索了几个NPM模块和这个SO问题(以及评论建议的所有链接)之后:
我仍然没有更接近我的目标。
我的问题是,即使我有代码,我也无法理解如何重用给定的CRC16解决方案,因为我不知道在代码中何处找到多项式定义。随着所有的转变和诸如此类的东西对我来说太神秘了。
如何使用自定义多项式得到CRC16函数?
答案 0 :(得分:1)
链接的示例具有来自CRC多项式的表派生。鉴于多项式,你当然可以找到code that generates the table。鉴于CRC的定义(多项式,位排序,初始值,最终xor值),您可以找到code that computes any CRC, and code that generates CRC code,包括表格。
答案 1 :(得分:0)
这实际上是不可能的。
根据我的理解,所使用的多项式定义了CRC算法本身的本质。
具有不同功能的两种不同的CRC16实现在大多数情况下是2种完全不同的算法。
我的困惑是由许多图书馆创建的,记录很少,作者没有提到他们实施的CRC16算法的版本,称他们的模块 crc16模块。
没有这样的事情。相反,有许多CRC16算法,每个算法都有不同的多项式可供使用。