The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Digest::CRC - Generic CRC functions

SYNOPSIS

# Functional style

use Digest::CRC qw(crc64 crc32 crc16 crcccitt crc crc8 crcopenpgparmor);
$crc = crc64("123456789");
$crc = crc32("123456789");
$crc = crc16("123456789");
$crc = crcccitt("123456789");
$crc = crc8("123456789");
$crc = crcopenpgparmor("123456789");

$crc = crc($input,$width,$init,$xorout,$refout,$poly,$refin,$cont);


# add data to existing

$crc = crc32("ABCD", $crc);


# OO style
use Digest::CRC;

$ctx = Digest::CRC->new(type=>"crc16");
$ctx = Digest::CRC->new(width=>16, init=>0x2345, xorout=>0x0000, 
                        refout=>1, poly=>0x8005, refin=>1, cont=>1);

$ctx->add($data);
$ctx->addfile(*FILE);

$digest = $ctx->digest;
$digest = $ctx->hexdigest;
$digest = $ctx->b64digest;

DESCRIPTION

The Digest::CRC module calculates CRC sums of all sorts. It contains wrapper functions with the correct parameters for CRC-CCITT, CRC-16, CRC-32 and CRC-64, as well as the CRC used in OpenPGP's ASCII-armored checksum.

SEE ALSO

https://tools.ietf.org/html/rfc4880#section-6

AUTHOR

Oliver Maul, oli@42.nu

COPYRIGHT

CRC algorithm code taken from "A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS".

The author of this package disclaims all copyrights and releases it into the public domain.