Digest::CRC(3)

πŸ’– NAME πŸ’–

okay so welcome to the Digest::CRC(3) page, bestie β€” this is Digest::CRC, the module for generic CRC functions, and it's giving β€œI can checksum anything” main character energy ✨.

πŸ’… SYNOPSIS πŸ’…

like here's the whole vibe, copied exactly, no cap:

         # 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;

ngl the functional style is the first block, the OO style is the second, and crc32("ABCD", $crc) is literally the β€œadd data to existing” moment πŸ’…. Every function name and param up there is exact β€” periodt.

🌸 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. like, it really said β€œall sorts” and meant it πŸ’–.

πŸ¦‹ SEE ALSO πŸ¦‹

if you want the RFC 4880 section 6 lore, it's right there, bestie 🫢.

πŸŽ€ AUTHOR πŸŽ€

Oliver Maul, oli@42.nu β€” hi icon πŸ‘‘βœ¨

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

public domain, fr fr β€” no copyright drama here πŸ’–

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

okay that's the whole manual page, bestie β€” source/version was perl v5.42.0, date was 2022-07-13, and it's Digest::CRC(3) πŸŽ€βœ¨