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

时间:2018-04-25 15:55:26

标签: javascript checksum crc crc16

背景

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

研究

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

我仍然没有更接近我的目标。

问题

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

问题

如何使用自定义多项式得到CRC16函数?

2 个答案:

答案 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算法,每个算法都有不同的多项式可供使用。