我可能只是没看到,但CRC32似乎要么过于复杂,要么在我找到的任何地方都没有充分解释。 我知道它是消息值非进位算术除法除以(生成)多项式得到的余数,但实际实现让我摸不着头脑。 我阅读了《一份无痛指南:CRC错误检测算法》,但必须说这并不无痛。它很好地介绍了理论,但作者从未给出一个简单的“就...
我正在寻找一份在C或C++中实现的CRC32代码,要求明确标注为无费用或公有领域授权。这里的 实现看起来不错,但它对授权的描述只是说“源代码”,这并不够好。我希望能够使用非LGPL许可证,这样我就不必在我的应用程序中使用DLL(因为我的应用程序是闭源的)。我在zlib中看到了adler32的实...
我见过8位、16位和32位的循环冗余校验(CRC)。 在什么时候需要使用更宽的CRC? 我的直觉是基于数据长度: 1-100字节:8位CRC 101 - 1000字节:16位CRC 1001 - ??? 字节:32位CRC 编辑: 查看维基百科关于CRC以及Lott的回答,我们可以...
我正在尝试使用Python计算/生成一些随机字符串的CRC32哈希值,但它们与我从在线来源生成的值不匹配。以下是我在我的电脑上所做的操作: >>> import binascii >>> binascii.crc32('hello-world') -131...
我正在寻找一种现代的JavaScript实现CRC32。 这个实现可能源自这里,现在在这里、那里和到处都有, 但它很慢(每MB需要500毫秒),并且依赖于超过2KB的空格分隔表,使用substr进行访问。太糟糕了! 似乎有几种CRC32的变体,所以我需要匹配这个输出: mysql>...
我的设计中使用了CRC32C校验和来确保数据没有损坏。我决定使用CRC32C,因为如果运行软件的计算机支持SSE 4.2,我可以同时拥有软件版本和硬件加速版本。 我正在参考英特尔的开发者手册(卷2A),该手册似乎提供了crc32指令背后的算法。然而,我遇到了一些问题。英特尔的开发者指南如下所...
考虑到 SSE 4.2 (Intel Core i7 和 i5 部件)包含一个 CRC32 指令,因此研究是否可以构建更快的通用哈希函数似乎是合理的。根据这里的说明,CRC32 中仅有 16 位均匀分布。那么要克服这个问题,需要应用什么其他变换呢? 更新 怎么样?只有 16 位适合作为哈希值...