我正在尝试计算文件的CRC32校验和,以便与Mod_zip模块一起使用。我尝试使用PHP进行计算,但不幸的是失败了,如果通过了,对于较大的文件也不会有效率。我还尝试了linux cksum命令,但它只能计算文件的CRC校验和。我发现在linux上可以使用perl来计算文件的CRC32校验和,如果可以的话,我可以使用shell_exec将输出导入到我的PHP应用程序中,如何做到这一点呢?
你有没有看过Digest::CRC?从文档来看:“它包含了使用正确参数的CRC-CCITT、CRC-16、CRC-32和CRC-64的包装函数,以及OpenPGP ASCII编码校验和中使用的CRC。”
use strict;
use warnings;
use Digest::CRC;
my $ctx = Digest::CRC->new( type => 'crc32' );
open my $fh, '<:raw', $ARGV[0] or die $!;
$ctx->addfile(*$fh);
close $fh;
print $ctx->hexdigest, "\n";
perl script.pl inFile
希望这能有所帮助!
CRC-32
。 - Kenosis