首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据长度与CRC长度

数据长度与CRC长度
EN

Stack Overflow用户
提问于 2010-02-23 21:02:04
回答 7查看 83.4K关注 0票数 46

我见过8位,16位和32位的CRCs。

在什么时候需要跳到更宽的CRC?

我的直觉反应是基于数据长度:

  1. 1~100字节:8位CRC
  2. 101-1000字节:16位CRC
  3. 1001?字节:32位CRC

编辑:看看维基百科关于CRC和Lott的答案,这里有:

<64字节:8位CRC

<16K字节:16位CRC

<512 m字节:32位CRC

EN

Stack Overflow用户

发布于 2018-04-25 06:38:49

下面是对CRC-N http://www.backplane.com/matt/crc64.html的一个很好的“真实世界”评估。

我使用CRC-32和文件大小的比较,从来没有,在数十亿的文件检查,运行一个匹配的CRC-32和文件大小的冲突。但我知道有一些存在,而不是故意强迫存在的。(被黑的诡计/利用)

在进行比较时,您还应该检查“数据大小”。在正确的大小范围内,很少会有相同的数据大小与匹配的CRC发生冲突。

故意操纵的数据,为了伪造匹配,通常通过添加额外的数据来完成,直到CRC匹配目标为止。然而,这会导致数据大小不再匹配。试图暴力,或循环随机,或序列数据,同样的大小,将留下一个真正狭窄的碰撞率。

您还可以在数据大小内发生冲突,只需要使用公式的一般限制,以及使用位/字节和基-10系统的约束,这取决于浮点值,浮点值会被截断和剪短。

当你开始看到许多无法“确认”为“原始”的碰撞时,你会想要把它变大。(当它们具有相同的数据大小时,(当向后测试时,它们有一个匹配的CRC )。反向/字节或反向/位,或位偏移)

无论如何,它永远不应该被用作唯一的比较形式,仅仅作为一种快速的比较形式,用于索引。

您可以使用CRC-8索引整个互联网,并将所有的东西分成一个N-链接。你想要那些碰撞。现在,那些预先排序,你只需要检查一个N目录,寻找“文件大小”,或“反向CRC”,或任何其他比较,你可以做的小数据集,快速.

在同一个数据块上前后执行CRC-32比在一个方向上使用CRC-64更可靠。(或者是MD5。)

票数 2
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2321676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档