Poco

class Checksum

File Information

Library: Foundation
Package: Core
Header: Poco/Checksum.h

Description

This class calculates CRC-32 or Adler-32 checksums for arbitrary data.

A cyclic redundancy check (CRC) is a type of hash function, which is used to produce a small, fixed-size checksum of a larger block of data, such as a packet of network traffic or a computer file. CRC-32 is one of the most commonly used CRC algorithms.

Adler-32 is a checksum algorithm which was invented by Mark Adler. It is almost as reliable as a 32-bit cyclic redundancy check for protecting against accidental modification of data, such as distortions occurring during a transmission, but is significantly faster to calculate in software.

Member Summary

Member Functions: checksum, type, update

Enumerations

Type

TYPE_ADLER32 = 0

TYPE_CRC32

Constructors

Checksum

Checksum();

Creates a CRC-32 checksum initialized to 0.

Checksum

Checksum(
    Type t
);

Creates the Checksum, using the given type.

Destructor

~Checksum

~Checksum();

Destroys the Checksum.

Member Functions

checksum inline

Poco::UInt32 checksum() const;

Returns the calculated checksum.

type inline

Type type() const;

Which type of checksum are we calulcating

update inline

void update(
    const char * data,
    unsigned length
);

Updates the checksum with the given data.

update

void update(
    const std::string & data
);

Updates the checksum with the given data.

update

void update(
    char data
);

Updates the checksum with the given data.

Securely control IoT edge devices from anywhere   Connect a Device