问题标签 [crc]

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.

0 投票
1 回答
469 浏览

crc - TinyOS CC2420ReceiveP

我想保留未通过 crc 检查的数据包。为此,我注释掉了 CC2420RecieveP readDone 函数的一部分,该函数检查接收缓冲区中 LQI 字节的 msb 位。

我认为这是有效的,

但是,一旦我在自己的接收函数中接收到数据包,我就会通过串行组件发送它(不仅仅是有效负载,我将整个接收到的无线电数据包复制到串行数据包的有效负载区域)。当我使用程序 Listen 时,似乎不存在 crc bool 值(只有 LQI 和 RSSI),即使在函数 receiveDone_task 中明确将 crc 复制到 bufPTR 中。

:(

帮助!

麦克风。

0 投票
4 回答
16598 浏览

checksum - 我怎么能猜到校验和算法?

假设我最后有一些带有 16 位校验和的数据包。我想猜测使用了哪种校验和算法。

首先,从转储数据中我可以看到数据包有效负载中的一个字节变化完全改变了校验和,所以我可以假设它不是某种简单的异或或求和。

然后我尝试了 CRC16 的几种变体,但运气不佳。

这个问题可能更偏向于密码学,但我真的对任何易于理解的统计工具感兴趣,以找出这可能是哪个 CRC。如果其他一切都失败了,我什至可能会转向绘制不同的 CRC 算法。

背景故事:我有带有某种校验和的串行 RFID 协议。我可以毫无问题地重播消息并解释结果(没有校验和检查),但我无法发送修改过的数据包,因为设备将它们丢弃在地板上。

使用现有软件,我可以更改 RFID 芯片的有效载荷。但是,唯一的序列号是不可变的,所以我没有能力检查每个可能的组合。尽管我可以生成递增一的值转储,但不足以使详尽的搜索适用于这个问题。

如果问题本身还不够,则可以使用带有数据的转储文件:-)

需要参考文件吗? CRC 错误检测算法的无痛指南是很好的参考,我在这里提出问题后发现。

最后,在接受的答案比它的 CCITT 非常有用的提示之后,我 使用了这个 CRC 计算器,并将生成的校验和与已知的校验和异或得到 0xffff,这使我得出结论,最终的异或是 CCITT 的 0x0000 的 0xffff 插入。

0 投票
2 回答
1275 浏览

nsis - 如何更改有关 CRCCheck 的 NSIS 错误消息

我的一些用户抱怨我的安装程序在从我的网络服务器下载后遇到了一些奇怪的错误。

这是 NSIS 安装程序,当下载时出现瘫痪或不完整(通常是因为 Internet 连接速度慢),消息非常清楚“您尝试使用的安装程序已损坏或不完整......”用英语!!(我有没有提到我的用户只会说西班牙语?)。

如何更改语言或创建自定义错误消息?

我已经使用以下方法创建了西班牙语安装程序:

任何想法?

0 投票
1 回答
4878 浏览

c# - 如何在 C# 中计算 CRC_B

如何按照 ISO 14443 中的描述计算 C# 中的 CRC_B 编码?以下是一些背景信息:

CRC_B 编码 本附件用于说明目的,并指示将存在于物理层中的比特模式。包含它是为了检查 CRC_B 编码的 ISO/IEC 14443-3 B 类实现。有关详细信息,请参阅 ISO/IEC 3309 和 CCITT X.25 2.2.7 和 V.42 8.1.1.6.1。初始值 = 'FFFF'

  • 示例 1:对于 0x00 0x00 0x00,您应该以 0xCC 0xC6 的 CRC_B 结尾
  • 示例 2:对于 0x0F 0xAA 0xFF 你应该以 0xFC 0xD1 的 CRC_B 结束

我尝试了一些随机的 CRC16 库,但它们并没有给我相同的结果。我也没有像这里那样从在线检查中得到相同的结果。

0 投票
3 回答
6685 浏览

crc - CRC预设和残留

我正在使用需要我生成 16 位 CRC 的设备。

该设备的数据表表明它需要以下 CRC 定义:

其中预设=FFFF(16 位)和残差=1D0F(16 位)

我搜索了一个 CRC 算法并找到了这个链接: http ://www.lammertbies.nl/comm/info/crc-calculation.html

它上面都有。CRC-CCITT (0xFFFF) CRC-CCITT (0x1D0F)

预设和残差有什么区别?

0 投票
7 回答
2980 浏览

file - 文件的 CRC 检查

我正在使用一个小型 FAT16 文件系统,我想为存储配置信息的单个 XML 文件生成 CRC 值。如果数据更改或损坏,我希望能够检查 CRC 以确定文件仍处于原始状态。

问题是,如何在不改变文件本身的 CRC 值的情况下,将 CRC 值放入文件中?我可以想到几个解决方案,但我认为这个问题必须有一个相当标准的解决方案。

0 投票
4 回答
1430 浏览

crc - 棘手的CRC算法

我正在尝试找到适用于以下结果的 crc。字节串由 2 个字节组成(即 0xCE1E),而 crc 是一个单字节(即 0x03)

任何人都可以帮忙吗?

0 投票
9 回答
4555 浏览

checksum - 我怎么能猜到校验和算法?

如果给出了给定的代码 + CRC 字符串,我如何找出 CRC 算法?

我有几个由代码 + 匹配的 CRC 组成的字符串,但不知道如何计算有问题的 CRC,以便我可以生成更多代码字符串。以下是一些示例(16 位代码 + 4 位 CRC):

这些代码来自像 X10 产品这样的射频 (433MHz) 发送器。

我不确定这是 CRC 还是它是什么,但至少它以某种方式从这些代码字符串中计算出来。

更新

RE:找到我也认为是最好的解决方案的规范,但由于这不是选项,我需要以某种方式强制校验和计算。

这就是问题所在,我没有规格,也无法在任何地方得到它们。我已经尝试了几种不同的校验和计算方法而没有结果,有没有办法比较输入字符串找出它们的共同点,这样就可以得到算法

0 投票
4 回答
13140 浏览

xor - 您如何计算 CRC 中使用的 XOR 余数?

我试图记住数学是如何计算出循环冗余检查中 XOR 算法的剩余部分以验证网络消息的剩余位的。

我不应该扔掉那本教科书。

这在代码中很容易完成,但它是如何手工完成的呢?

我知道它看起来像一个标准的除法算法,但我不记得从那里去哪里得到余数。

注意:我确实谷歌了它,但无法找到他们在计算剩余部分时映射步骤的地方。

0 投票
2 回答
8664 浏览

checksum - 从数据中确定 CRC 算法 + CRC - 嵌入式应用程序。

我有一组受 16 位校验和保护的数据,我需要更正这些数据。校验和位置是已知的,计算它们的确切区域以及用于计算它们的确切算法是未知的。16 位,LSB 在前。我怀疑它是某种 16 位 CRC,但我无法找到实际计算校验和的代码。

例子:

校验和存储在 4E 和 64 处。我不知道它们是从每个数据段开头的第一个字的偏移量开始计算的,还是之后开始计算的,还是从整个范围开始计算的。我尝试了许多常见的 CRC 算法和多项式,但都没有成功。此应用程序没有可用的参考资料或规范。

为了比较,这里是另一个具有不同 CRC 的数据部分。

我的问题是,任何人都可以识别算法吗?有什么方法可以从数据和 CRC 计算 CRC 多项式和其他因素?

谢谢!

编辑:

在我的反汇编中搜索常见的 CRC16 多项式 0xA001 发现了这个函数: