cksum 是和 md5sum, sha1sum 同类型的东西吗?

网上下载的许多文件会提供 md5sum, sha1sum, sha128sum, sha256sum, sha512sum 等散列值,用来校验文件是否下载完整. Linux 环境的 GNU Coreutils 还提供了一个 cksum, 用来校验 CRC Checksum, 跟 md5 一类的东西相似吗?搜索资料简单看了一下,好像并非同类型的东西。因为 CRC Checksum 还分为 CRC-32, CRC-64 等不同的类型。

我最早是在微软的 MSDN 网站注意到 CRC Checksum, 比如这个:

File Name:	cn_windows_7_professional_with_sp1_x86_dvd_622569.iso

ISO/CRC:	06B204FD

在 Linux 系统下用 cksum 去计算其 CRC, 然后换算成 16 进制数,并不能得到上面的 06B204FD.

然后这几天我在研究小米手机的刷机包,发现其中有一个 crclist.txt 文件,纪录了各分区映像的 CRC Checksum. 同样地,用 GNU cksum 去计算其 CRC 并换算成 16 进制数,也不能得到同样的 Checksum.

那么上述微软的 ISO 文件以及小米的刷机分区映像文件的 CRC 应该用什么工具校验呢?

我猜它用的多项式是这里最后一个 Cyclic redundancy check - Wikipedia

1赞