# 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
为拿到它,为实现它。