Python 利用逆向工程获得CRC16多项式

Python 利用逆向工程获得CRC16多项式,python,c,reverse,crc16,Python,C,Reverse,Crc16,我正试图找到一种有效的方法来使用基值和CRC16输出计算CRC16多项式。 一个更清楚的例子: y = CRC16(x) 如何找到CRC16函数用于计算y的多项式? 我正在使用C和Python创建一些可执行文件(用于测试目的)。用于CRC检查的多项式列表可以在这里找到: 特别是,您可能需要多项式CRC-16-ANSI Lammert-Bies有一个很好的CRC-16不同方法的参考和C库 主要是,它包含一个在线计算器,您可以使用它立即查看您想要的是否是众所周知的方法之一 如果是的话,C库立即提

我正试图找到一种有效的方法来使用基值和CRC16输出计算CRC16多项式。
一个更清楚的例子:

y = CRC16(x)
如何找到CRC16函数用于计算y的多项式?

我正在使用C和Python创建一些可执行文件(用于测试目的)。

用于CRC检查的多项式列表可以在这里找到:

特别是,您可能需要多项式CRC-16-ANSI


Lammert-Bies有一个很好的CRC-16不同方法的参考和C库

主要是,它包含一个在线计算器,您可以使用它立即查看您想要的是否是众所周知的方法之一


如果是的话,C库立即提供了CRC计算器的优化实现,并且可以轻松地用Python进行翻译。在我的文章中,你会发现CRC-CCITT XMODEM变量的一个例子

我会从最简单的输入开始,一个空字符串或一个由单个零字节组成的输入。一个17位的数字只有32K个可能值,同时设置了高位和低位。你为什么要提高效率?你是说你可以访问一个函数
CRC16()
,你想重新实现这个函数吗?如果是,请提供该函数返回的九个字节的CRC(ASCII):“123456789”。我有两个字节是CRC16函数的输出,然后我有原始数据。我试图理解CRC函数使用什么样的多项式从特定的原始数据开始获得特定的2字节。我知道这离仅链接的答案不远,但我真的不知道如何做得不同:第一个链接必须是链接,因为它是一个在线计算器,第二个只是之前解释的一个例子。我认为CRC-16-CCITT被更多地使用,CCITT:CommitéConsultatif International Téléphonique et Télégraphique国际电报和电话咨询委员会,现在是ITU-T