linux - 计算文件的CRC32校验和

标签 linux perl crc32

我正在尝试计算文件的 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

希望这对您有所帮助!

关于linux - 计算文件的CRC32校验和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20509705/

相关文章:

linux - 用户空间内存编辑程序

perl - 如何忽略 perl 子例程上的 exit(1) - 尝试了 eval 但没有成功

forms - Catalyst html::formhandler 传递表单值

c - 如何使用 C 中的 linux 系统调用删除文件中的最后一个数据?

linux - 如何编译 Open62541 教程中的示例 xml 文件?

perl - 编辑 Google Storage 对象元数据需要哪些权限?

crc - 数据长度与 CRC 长度

python - 如何用 Python 计算 CRC32 以匹配在线结果?

algorithm - 用于反转位顺序的快速 CRC32 算法

linux - 使用 ssh 比较目录