10得票2回答
校验和:CRC还是哈希?

除了性能和安全方面的考虑,假设哈希函数具有完美的雪崩效应,对于数据块的校验和,我应该使用CRC32还是截断为N字节的哈希?也就是说,哪一个会更有可能错过错误?具体如下: CRC32与4字节哈希 CRC32与8字节哈希 CRC64与8字节哈希 数据块将在网络上传输并重复存储在磁盘上。块的...

21得票7回答
如何在Linux bash中从字符串计算crc32校验和

很久以前我使用 crc32 从字符串中计算校验和,但我不记得当时具体是怎么做的了。 echo -n "LongString" | crc32 # no output 我发现了一种使用 Python 计算它们的解决方案[1],但是难道没有一种直接从字符串计算它们的方法...

13得票1回答
使用constexpr函数代替reinterpret_cast的替代方案

下面是一个用于计算CRC32的constexpr字符串字面值。 我不得不将字符串字面值中的字符从char重新解释为unsigned char。因为在constexpr函数中不允许使用reinterpret_cast,所以解决方法是手动进行二进制补码转换,但我对此感到有些失望。 是否存在更优...

8得票1回答
如何在zlib CRC32中正确使用无进位乘法汇编(PCLMULQDQ)?

我最近在尝试使用CloudFlare的优化zlib,结果非常惊人。不幸的是,他们似乎认为zlib的开发已经停止,并且他们的分支已经脱离了。最终,我能够将手动重定基于当前zlib开发分支的更改,尽管这真的很麻烦。无论如何,仍然有一个主要的优化在CloudFlare代码中我还没有能够利用,即使用新...

8得票2回答
如何接收错误的以太网帧并禁用CRC / FCS计算?

我通过发送以太网帧在运行Linux的两台PC之间生成流量,目的是捕获一些错误帧。问题在于当物理层检测到帧存在错误(如果CRC或FCS无效)时,帧被丢弃,我无法在程序中接收到它。 是否有任何方法可以接收错误的帧(禁用物理层的丢弃操作并接收指示器,指示该帧存在错误),以及如何查询NIC卡的统计信...

46得票7回答
JavaScript CRC32

我正在寻找一种现代的JavaScript实现CRC32。 这个实现可能源自这里,现在在这里、那里和到处都有, 但它很慢(每MB需要500毫秒),并且依赖于超过2KB的空格分隔表,使用substr进行访问。太糟糕了! 似乎有几种CRC32的变体,所以我需要匹配这个输出: mysql>...

15得票4回答
以太网CRC32计算 - 软件与算法结果对比

我想逐字节计算以太网数据包的帧校验序列(FCS)。多项式是0x104C11DB7 。 我尝试了在这里http://en.wikipedia.org/wiki/Cyclic_redundancy_check或者在这里http://www.woodmann.com/fravia/crctut1....

47得票3回答
如何使用Python计算CRC32以匹配在线结果?

我正在尝试使用Python计算/生成一些随机字符串的CRC32哈希值,但它们与我从在线来源生成的值不匹配。以下是我在我的电脑上所做的操作: >>> import binascii >>> binascii.crc32('hello-world') -131...

18得票4回答
反向计算CRC32

我正在寻找一种反转CRC32校验和的方法。虽然有一些解决方案,但它们要么写得很糟糕,要么极其技术性和/或使用汇编语言。目前我还不会汇编语言,所以我希望有人能够用更高级别的语言来实现。Ruby是理想的选择,但我也可以解析PHP、Python、C、Java等语言。 有人愿意吗?

10得票1回答
为什么使用带有StreamReader的BCL GZipStream无法可靠地检测到CRC32的数据错误?

前几天我遇到了这个问题:GZipStream无法检测到损坏的数据(即使CRC32通过)?(这可能很好地解决了“重复”的问题,但对于此问题我感到矛盾。我也是在标题中添加CRC32的人,但回想起来,这似乎与帖子的其余部分不符)。在自己探索问题一段时间后,我认为这个问题比其他问题最初描绘的要严重得多...