3.1.5.11 Updating the Checksum of a Personal Distribution List
Whenever a member is added to or removed from a personal distribution list, the client SHOULD update the value of the PidLidDistributionListChecksum property (section 2.2.2.2.3). The checksum is calculated by iterating through each byte of each PtypBinary value in the multivalue PidLidDistributionListMembers property (section 2.2.2.2.1), as specified by the following algorithm.
-
SET CheckSum = 0 FOR EACH PtypBinaryValue in PidLidDistributionListMembers FOR EACH byteValue in PtypBinaryValue Checksum = CRC(Checksum, byteValue) ENDFOR ENDFOR
This algorithm uses the IEEE 802.3 CRC polynomial 0xEDB88320 (x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1) with a seed value of 0x00000000. For more details about the polynomial, see [ISO/IEC8802-3] section 3.2.8.