![是否有 CLI 实用程序可以计算 ZIP 文件中使用的相同 CRC?](https://linux22.com/image/143290/%E6%98%AF%E5%90%A6%E6%9C%89%20CLI%20%E5%AE%9E%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%8F%AF%E4%BB%A5%E8%AE%A1%E7%AE%97%20ZIP%20%E6%96%87%E4%BB%B6%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E7%9B%B8%E5%90%8C%20CRC%EF%BC%9F.png)
# Create random file
$ dd if=/dev/urandom /of=./test.dat bs=1K count=1
# Zip it
$ zip test.zip test.dat
# Dump contents for ZIP-computed CRC
$ unzip -v test.zip
Archive: test.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
1024 Stored 1024 0% 2018-12-09 17:42 1f197320 test.dat
-------- ------- --- -------
1024 1024 0% 1 file
# compute CRC with coreutil's cksum
$ cksum test.dat
283837118 1024 test.dat
# convert to hex
$ printf "%08x" 283837118
10eb02be
TL;DR:cksum
不使用与 ZIP 相同的 CRC 算法。
答案1
是的,您可以使用Perl 模块crc32
中提供的命令Archive::Zip
。在 Debian 及其衍生版本上,安装libarchive-zip-perl
为拿到它,为实现它。