The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information....



GenerateCPUID


Unit:SDL_cpuid
Class: none
Declaration: function GenerateCPUID: string;

The function GenerateCPUID calculates a 48-bit digital signature from the CPU information. The generated code is returned in form of a string of 16 hexadecimal digits which are grouped into four groups separated by a dash. The first three 4-digit groups represent the 48-bit signature, the last group is a CRC check code.

The check code is calculated by applying the function CRC32OfBuffer to the 48-bit signature (as a 12-digit hexadecimal string). The bits 0 to 15 of the resulting CRC code are then appended as a 4-digit hexadecimal string.

Hint 1: The returned string is not unique to a CPU, but the chances that two different CPUs (assuming that the CPU_SerialNumber is not switched off) have the same code is below 2.5 * 10-10 (one in 4 billion). For true uniqueness you should consider GenerateCPUIDEx which includes the MAC address of the network adapter as well.

Hint 2: For a discussion of the parameters used for calculating the CPU identifier, please visit the SDL TechNotes.


Example: This function is used in the following example program (see http://www.lohninger.com/examples.html for downloading the code): cpuinfo



Last Update: 2023-Feb-06