计算文件的CRC32校验和

时间:2013-12-11 02:56:02

标签: linux perl crc32

我正在尝试计算文件的CRC32校验和以用于此模块Mod_zip,我尝试使用PHP执行此操作但不幸的是失败了,即使传递对于较大的文件效率不高。

我还尝试了linux cksum命令,但它计算了文件的CRC校验和。

我发现 linux 上的 perl 可用于计算文件的CRC32,如果可能,我可以使用shell_exec将输出导入我的{{1应用程序,我该怎么做?

1 个答案:

答案 0 :(得分:6)

你看过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

希望这有帮助!