问题标签 [crc16]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 从 Java 到 PHP 的 CRC16 代码
如何将 Java CRC16 代码转换为 PHP 代码?PHP 不接受byte
和 >>>
java - 用 Java 中的多项式 x^16 + x^12 + x^5 + 1 计算 CCITT 标准 CRC
我需要帮助在 Java 中使用多项式 x^16 + x^12 + x^5 + 1 (0x1081) 计算 CCITT 标准 CRC。我在互联网上尝试了许多示例,但每个示例都返回示例中的值之外的其他值。
例如对于这个数组 [0xFC] [05] [11],结果需要是 [27] [56]。
使用此代码:
我得到的结果FA DE
不是 [27] [56]
使用此代码:
我明白了CRC16-CCITT = 8dca
使用此代码:
我明白了521
希望可以有人帮帮我。我需要这个来与使用 ID003 协议的设备进行通信。
编辑:在http://www.lammertbies.nl/comm/info/crc-calculation.html使用这个在线计算器输入 FC0511 我从 CRC-CCITT (Kermit) 得到 0x2756。
python - 如何在 python3 中计算 ANSI CRC16 多项式(0x8005)?
我尝试使用此代码计算 ANSI CRC16 多项式(0x8005)
但我收到了这个错误信息
ValueError:多项式的次数必须是 8、16、24、32 或 64
python - CRC-CCITT 16 位 Python 手动计算
问题
我正在为嵌入式设备编写代码。许多用于 CRC-CCITT 16 位计算的解决方案都需要库。
鉴于使用库几乎是不可能的并且会消耗其资源,因此需要一个函数。
可能的解决方案
下面的CRC计算是在网上找到的。但是,它的实现是不正确的。
http://bytes.com/topic/python/insights/887357-python-check-crc-frame-crc-16-ccitt
现有的在线解决方案
以下链接正确计算了 16 位 CRC。
http://www.lammertbies.nl/comm/info/crc-calculation.html#intr
“CRC-CCITT (XModem)”下的结果是正确的 CRC。
规格
我相信现有在线解决方案中的“CRC-CCITT(XModem)”计算使用的多项式为0x1021
.
问题
如果有人可以编写一个新功能或提供方向来解决checkCRC
所需规范的功能。请注意,使用库或任何import
's 都无济于事。
java - 需要帮助纠正用 java 编写的 CRC-ITU 检查方法中的问题
我们正在尝试在 Java 上编写 GPS 设备侦听器。
这样做时,我们无法为 CRC-ITU 错误检查开发正确的代码。从协议文档生成 crc 码的解释如下
终端或服务器可以使用校验码来区分接收到的信息是否有误。为防止数据传输过程中发生错误,在数据误操作的基础上增加了错误校验,提高了系统的安全性和效率。校验码由CRC-ITU校验方法生成。协议结构中数据的校验码,从数据包长度到信息序列号(包括“数据包长度”和“信息序列号”)都是CRC-ITU的值。如果在计算接收到的信息时出现CRC错误,接收方将忽略并丢弃该数据包。
这是数据监听器类
这是CRC生成类
我正在做这个更新的代码。
c# - 如何使用 C# 实现 CRC-16-DNP?
我正在尝试使用 c#实现16-CRC [DNP]generator polynomial
,给出为
我找到了 16-crc 的标准解决方案:[来源]
现在,如果我转换我的多项式,我得到1 0011 1101 0110 0111
=> (3D65)h
& 我的问题是我需要改变什么来为给定多项式工作上述解决方案。
Edit
: 我还需要考虑两件事,
1) 初始值为 0 &
2) 最终的 CRC 必须补码。
reverse-engineering - 需要帮助对 CRC16 进行逆向工程
我正在尝试连接到 Safecom TA-810(徽章/注册系统)以自动化计算员工每天工作时间的过程。目前这是通过以下方式完成的:
- 拉取数据到官方应用
- 打印所有“注册”的列表
- 手动将打印列表中的值输入到我们的 HR 应用程序中
这是一项可能需要几个小时的工作,我们希望看到自动化。到目前为止,官方技术支持一直令人失望,并拒绝分享任何细节。
使用 wireshark,我一直在捕获 UDP 传输,并且非常成功地理解了协议是如何构建的。我只对我认为的 CRC 字段有疑问。我不知道它是如何计算的(CRC 类型和参数)以及使用哪些字段...
这是消息头的样子:
一些例子:
我也一直试图通过阅读原始应用程序的反汇编代码来解决这个问题。下面的屏幕截图发生在 socket.sendto 之前,并且似乎是相关的。
任何帮助将不胜感激。
编辑:使用 ollydbg 调试应用程序取得了一些成功。CRC 出现在以下屏幕截图中所选行的寄存器(反转)EDX 中。
checksum - 逆向工程未知CRC
我正在尝试对CRC进行逆向工程。当我计算数据的 CRC-16 时,它与发送数据的 crc 非常相似,但并不完全相等。
找出计算此 CRC 的确切方法的最佳方法是什么?是否可以在这里使用另一个多项式或另一个初始值?
以下是一些与 CRC-16 相比具有自己 CRC 的数据包:
似乎 CRC-16 是正确的算法,但除此之外,de 值有一个小的变化。它似乎基于数据的第一个到十六进制数字,甚至可能是 CRC 的第一部分。
crc16 - 您如何根据 CRC 多项式计算查找表的值?
在此代码http://introcs.cs.princeton.edu/java/51data/CRC16.java中,程序使用基于 crc 多项式 1 + x^2 + x^15 + x^16 的查找表。我的问题是如何根据 crc 多项式计算查找表的值。否则,您如何为任何给定的 crc 多项式自己制作查找表?您可以使用的示例是 x15+x13+ x6+x4+x1+1 的 crc 多项式的查找表是什么?
reverse-engineering - 对 CRC 数据包进行逆向工程
我是新来的倒车。
我需要分析一个我认为由 CRC 检查的数据包。
数据包如下:
从我到现在为止,这个十六进制字符串的第一部分包含帧信息和以太网信息是:1B1B1B1B0101010176058C0D1
之后,所有数据都经过 CRC 校验。
有什么办法可以反转CRC并读取数据????我怎么知道它是什么基数?(16/32/64)(我有更多这样的数据包)
感谢您的答案..!