Root > Reference > All Functions > CRC32Hash

Function CRC32Hash

Previous pageReturn to chapter overviewNext page   

Calculates CRC-32 checksum.







Code (Delphi)

function CRC32Hash(

const AData: Pointer;

const ADataSize: Cardinal

): TCRC32Hash; overload;


function CRC32Hash(

const AData: RawByteString

): TCRC32Hash; overload;



AData [in]

A data to calculate checksum.


ADataSize [in]

Size of AData in bytes.


Return value

CRC-32 checksum of the specified AData.



A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data. CRCs are based on the theory of cyclic error-correcting codes. CRCs are popular because they are simple to implement in binary hardware, easy to analyze mathematically, and particularly good at detecting common errors caused by noise in transmission channels.



Unlike cryptographic hash functions (like MD5 or SHA1), CRC is an easily reversible function, which makes it unsuitable for use in digital signatures.


Numerous varieties of cyclic redundancy checks have been incorporated into technical standards. CRC32Hash function uses CRC-32-IEEE 802.3 algorithm. Polynomial is $EDB88320. Starting value is $FFFFFFFF. For example, this implementation matches PHP's implementation of CRC-32.


See also

Send feedback... Build date: 2022-03-28
Last edited: 2022-03-28
The documentation team uses the feedback submitted to improve the EurekaLog documentation. We do not use your e-mail address for any other purpose. We will remove your e-mail address from our system after the issue you are reporting has been resolved. While we are working to resolve this issue, we may send you an e-mail message to request more information about your feedback. After the issues have been addressed, we may send you an email message to let you know that your feedback has been addressed.

Permanent link to this article: