除了性能和安全方面的考虑,假设哈希函数具有完美的雪崩效应,对于数据块的校验和,我应该使用CRC32还是截断为N字节的哈希?也就是说,哪一个会更有可能错过错误?具体如下: CRC32与4字节哈希 CRC32与8字节哈希 CRC64与8字节哈希 数据块将在网络上传输并重复存储在磁盘上。块的...
很久以前我使用 crc32 从字符串中计算校验和,但我不记得当时具体是怎么做的了。 echo -n "LongString" | crc32 # no output 我发现了一种使用 Python 计算它们的解决方案[1],但是难道没有一种直接从字符串计算它们的方法...
下面是一个用于计算CRC32的constexpr字符串字面值。 我不得不将字符串字面值中的字符从char重新解释为unsigned char。因为在constexpr函数中不允许使用reinterpret_cast,所以解决方法是手动进行二进制补码转换,但我对此感到有些失望。 是否存在更优...
我最近在尝试使用CloudFlare的优化zlib,结果非常惊人。不幸的是,他们似乎认为zlib的开发已经停止,并且他们的分支已经脱离了。最终,我能够将手动重定基于当前zlib开发分支的更改,尽管这真的很麻烦。无论如何,仍然有一个主要的优化在CloudFlare代码中我还没有能够利用,即使用新...
我通过发送以太网帧在运行Linux的两台PC之间生成流量,目的是捕获一些错误帧。问题在于当物理层检测到帧存在错误(如果CRC或FCS无效)时,帧被丢弃,我无法在程序中接收到它。 是否有任何方法可以接收错误的帧(禁用物理层的丢弃操作并接收指示器,指示该帧存在错误),以及如何查询NIC卡的统计信...
我正在寻找一种现代的JavaScript实现CRC32。 这个实现可能源自这里,现在在这里、那里和到处都有, 但它很慢(每MB需要500毫秒),并且依赖于超过2KB的空格分隔表,使用substr进行访问。太糟糕了! 似乎有几种CRC32的变体,所以我需要匹配这个输出: mysql>...
我想逐字节计算以太网数据包的帧校验序列(FCS)。多项式是0x104C11DB7 。 我尝试了在这里http://en.wikipedia.org/wiki/Cyclic_redundancy_check或者在这里http://www.woodmann.com/fravia/crctut1....
我正在尝试使用Python计算/生成一些随机字符串的CRC32哈希值,但它们与我从在线来源生成的值不匹配。以下是我在我的电脑上所做的操作: >>> import binascii >>> binascii.crc32('hello-world') -131...
前几天我遇到了这个问题:GZipStream无法检测到损坏的数据(即使CRC32通过)?(这可能很好地解决了“重复”的问题,但对于此问题我感到矛盾。我也是在标题中添加CRC32的人,但回想起来,这似乎与帖子的其余部分不符)。在自己探索问题一段时间后,我认为这个问题比其他问题最初描绘的要严重得多...