Provided by: libcryptx-perl_0.077-1build1_amd64
NAME
Crypt::Checksum::CRC32 - Compute CRC32 checksum
SYNOPSIS
### Functional interface: use Crypt::Checksum::CRC32 ':all'; # calculate CRC32 checksum from string/buffer $checksum_raw = crc32_data($data); $checksum_hex = crc32_data_hex($data); $checksum_int = crc32_data_int($data); # calculate CRC32 checksum from file $checksum_raw = crc32_file('filename.dat'); $checksum_hex = crc32_file_hex('filename.dat'); $checksum_int = crc32_file_int('filename.dat'); # calculate CRC32 checksum from filehandle $checksum_raw = crc32_file(*FILEHANDLE); $checksum_hex = crc32_file_hex(*FILEHANDLE); $checksum_int = crc32_file_int(*FILEHANDLE); ### OO interface: use Crypt::Checksum::CRC32; $d = Crypt::Checksum::CRC32->new; $d->add('any data'); $d->add('another data'); $d->addfile('filename.dat'); $d->addfile(*FILEHANDLE); $checksum_raw = $d->digest; # raw 4 bytes $checksum_hex = $d->hexdigest; # hexadecimal form $checksum_int = $d->intdigest; # 32bit unsigned integer
DESCRIPTION
Calculating CRC32 checksums. Updated: v0.057
EXPORT
Nothing is exported by default. You can export selected functions: use Crypt::Checksum::CRC32 qw(crc32_data crc32_data_hex crc32_data_int crc32_file crc32_file_hex crc32_file_int); Or all of them at once: use Crypt::Checksum::CRC32 ':all';
FUNCTIONS
crc32_data Returns checksum as raw octects. $checksum_raw = crc32_data('data string'); #or $checksum_raw = crc32_data('any data', 'more data', 'even more data'); crc32_data_hex Returns checksum as a hexadecimal string. $checksum_hex = crc32_data_hex('data string'); #or $checksum_hex = crc32_data_hex('any data', 'more data', 'even more data'); crc32_data_int Returns checksum as unsigned 32bit integer. $checksum_int = crc32_data_int('data string'); #or $checksum_int = crc32_data_int('any data', 'more data', 'even more data'); crc32_file Returns checksum as raw octects. $checksum_raw = crc32_file('filename.dat'); #or $checksum_raw = crc32_file(*FILEHANDLE); crc32_file_hex Returns checksum as a hexadecimal string. $checksum_hex = crc32_file_hex('filename.dat'); #or $checksum_hex = crc32_file_hex(*FILEHANDLE); crc32_file_int Returns checksum as unsigned 32bit integer. $checksum_int = crc32_file_int('filename.dat'); #or $checksum_int = crc32_file_int(*FILEHANDLE);
METHODS
new Constructor, returns a reference to the checksum object. $d = Crypt::Checksum::CRC32->new; clone Creates a copy of the checksum object state and returns a reference to the copy. $d->clone(); reset Reinitialize the checksum object state and returns a reference to the checksum object. $d->reset(); add All arguments are appended to the message we calculate checksum for. The return value is the checksum object itself. $d->add('any data'); #or $d->add('any data', 'more data', 'even more data'); addfile The content of the file (or filehandle) is appended to the message we calculate checksum for. The return value is the checksum object itself. $d->addfile('filename.dat'); #or $d->addfile(*FILEHANDLE); BEWARE: You have to make sure that the filehandle is in binary mode before you pass it as argument to the addfile() method. digest Returns the binary checksum (raw bytes). $result_raw = $d->digest(); hexdigest Returns the checksum encoded as a hexadecimal string. $result_hex = $d->hexdigest(); intdigest Returns the checksum encoded as unsigned 32bit integer. $result_int = $d->intdigest();
SEE ALSO
• CryptX • <https://en.wikipedia.org/wiki/Cyclic_redundancy_check>