Toerktumlare/vhdx-rs

Calc CRC check

Toerktumlare opened this issue · 0 comments

The following CRC checks are done. All CRC checks are done using the Castagnoli version CRC-32c

Region Table
taken from the spec:

A CRC-32C hash over the entire 4-KB structure, with the Checksum field
taking the value of zero during the computation of the checksum value.

So we need to to a CRC calculation on all header values in each header, with the header crc-value set to 0 (zero)

Log Entry

CRC is computed over the entire log entry, including the sequence number; this improves the
probability that a random entry corruption is detected.

Which means Crc32 needs to implemented over the header, the entries, and all descriptors and summed up somehow.