CPU IDs may contain very little entropy. Often only a single byte may change between two CPUs. To mitigate this use a somewhat 'proper' hash algorithm (I chose DJB2 hash simply because it's small) and 'extend' it to the required output size. For 50 STM32 CPU IDs from the grenoble site, this produces a much more random LUID output.