问题标签 [crc32]

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 投票
3 回答
2248 浏览

c - 微控制器上的 CRC-32 (Atmel)

我目前正在尝试为 ATMEGA1280 上的传入数据流(串行通信)实现 CRC-32,我有点迷失如何在 C 的嵌入式端执行此操作......如果有人能指出我正确的方向和/或无论如何帮助我将不胜感激......

0 投票
1 回答
6180 浏览

.net - 为什么 BCL GZipStream(带有 StreamReader)不能可靠地检测 CRC32 的数据错误?

前几天我遇到了一个问题GZipStream 没有检测到损坏的数据(甚至 CRC32 通过)?(这很可能是一个“重复”,我对这个问题有复杂的感觉。我也是在标题中添加 CRC32 的人,但回想起来,这与帖子的其余部分格格不入)。在我自己探索了一下这个问题之后,我认为这个问题远远大于其他问题最初描述的问题。

我扩展了另一个问题并使测试代码可在 LINQPad 下运行,并尝试更好地展示CRC32(循环冗余检查)问题(如果确实存在)。(由于代码只是基于原始代码的轻微修改,因此测试设置/方法可能存在缺陷,或者两者都有另一个奇怪的怪癖/PEBCAK。)

结果很奇怪,因为损坏的数据并不总是导致(任何!)引发异常。请注意,只有有时CRC32 检查似乎实际上是“工作”。可以忽略导致 index-out-of-range/bad header/bad footer 的损坏字节,因为我们可以假设这些字节会在 CRC32 检查之前杀死解压缩(这是完全可以理解的,即使 IndexOutOfRangeException 应该可能被包装由 InvalidDataException) 所以,

为什么 CRC32 检查的可靠性明显低于应有的水平?(为什么下面会出现“Invalid data (No Exception)”呢?)

由于GZip 页脚包含 CRC32未压缩数据的长度,似乎错误检测率应该“显着更高” ——也就是说,我希望下面出现一个失败案例,更不用说许多未检测到的损坏流. (当然,尽快检测到损坏的蒸汽是件好事:但在某些情况下,最终的保护校验和似乎完全被忽略了。)

格式为CorruptByteIndex+FailedDetections: Message

这是在 LINQPad 中可复制粘贴运行的测试(对于 .NET 3.5 和 4,使用“作为 C# 语句”模式):

这是.NET 3.5中的压缩数据(GZipStream 在“压缩”小负载方面出了名的差,但这是一个“无法修复”的问题,因为该流在技术上仍然有效):

(而且,只是为了傻笑,在 .NET 4 中它会生成一个稍大/不同的压缩流。)

补充笔记:

在这种情况下,测试可能存在细微的缺陷。当 GZipStream “未能检测到损坏”(无异常)时,从 StreamReader 读取的数据为“”(空字符串):在这种情况下,为什么不ReadToEnd() 引发异常(IOException 或其他)?

因此不是GZipStream 而是这里“古怪”的 StreamReader 还是 GZipStream 仍然存在问题(因为不抛出异常)?是否有一些正确的方法来可靠地处理这个用例?(考虑当来自当前位置的输入流真的是空的时候。)

0 投票
1 回答
19384 浏览

ruby - ruby:`read':File.read 处的参数无效 -(Errno::EINVAL)

我正在做一个简单的脚本来检查所有文件的 crc ...

问题在于File.read('dir.txt').each_line { |line| 我收到此错误:

PD:1.exe是“dir.txt”中列出的文件。

0 投票
2 回答
1524 浏览

c - 计算大CRC32的正确方法是什么

是一篇文章,描述了如何使用现代 x86-64 处理器中的内置 CRC32 指令计算最大 1024 字节的 CRC32。但是,我需要计算超过 1024 字节的 CRC32。计算每个 1024 字节块的 CRC32 并最终将它们相加是正确的方法,还是不正确?如果是这样,正确的方法是什么?

0 投票
1 回答
472 浏览

crc - 反向消息CRC计算

假设您有此消息(ab,cd,ef)并且您有 ROHC (Robust header compression) CRC8 polynomial e0

有什么方法可以从最后一个字节开始向后计算消息的 CRC,并获得与在原始消息上计算相同的结果?

0 投票
2 回答
4371 浏览

file - CRC32 对文件完整性检查真的那么糟糕吗?

当然,MD5 比 CRC32 好,SHA1 比 MD5 好等等......但它们也比 CRC32 慢得多。

没错,我正在考虑如何检查被传输文件的一致性,而 CRC32 是最快的选项。

我在任何地方都没有发现CRC32 的完整性检查有多糟糕(也许换句话说,CRC32 可能不会检测到格式错误的文件)?

0 投票
1 回答
157 浏览

windows-installer - MSI 文件是否支持 Windows 上的 CRC 检查?

我很好奇是否可以判断 MSI 文件自构建以来是否被修改过?

0 投票
3 回答
1101 浏览

c# - 检查文件的 crc32

这不是一个真正的“如何”问题。

是否有应用程序用于将文件校验和存储在文件夹中的“标准”文件结构?我正在开发一个工具来检查各种东西,如 crc32、md5、sha1、sha256 等......我想让我的程序将各种哈希值存储在我正在检查的文件夹中的文件中。

我知道有一个常用的文件叫做“md5sums”或“sha1sums”。但是CRC呢?我没有注意到周围的任何东西。如果有,它的结构是什么?

谢谢。

0 投票
3 回答
47473 浏览

hash - CRC32可以用作散列函数吗?

CRC32可以用作散列函数吗?这种方法有什么缺点吗?有什么取舍吗?

0 投票
1 回答
937 浏览

objective-c - 计算 ALAsset 的 CRC 校验和

我正在尝试计算 ALAsset 的 CRC 校验和。我的目标是保存所有 CRC 并在以后比较它们以查看资产是否已更改,但每次为相同资产生成 CRC 时,我都会得到不同的结果。

要生成 CRC:

如何使用:

这是我在不同场合为同一资产生成 CRC 时的结果:

id: 17575
url: assets-library://asset/asset.JPG?id=BB282CBD-F5B1-4771-B48B-E021224C7384&ext=JPG
文件大小: 1394332
crc: 3605102491
创建时间: 2456085.397025

id:
17826 url: assets-library://asset/asset.JPG?id=BB282CBD-F5B1-4771-B48B-E021224C7384&ext=JPG
文件大小: 1394332
crc: 1383370697
创建时间: 2456085.397025

如您所见,文件大小和 url 相同,但 CRC 不同。

我计算CRC错误吗?或者我应该使用 ALAsset 的不同部分来生成 CRC?也许每次检索 ALAsset 时某些数据都会有所不同?

提前致谢!