Eine Möglichkeit wäre einen CRC32 ( in uses crc32 aufnehmen ) aus dieser Sid zu erstellen zb.
Delphi-Quellcode:
function CheckSum(Sid: string): string;
var
CRC32: DWORD;
STemp: string;
SS: string;
begin
STemp := '';
ss := '';
ss := Sid;
CRC32 := $FFFFFFFF;
if LENGTH(ss) > 0
then CalcCRC32(Addr(ss[1]), LENGTH(ss), CRC32);
STemp := IntToHex(CRC32, 8);
Result := STemp;
end;
Und daraus kannst du deine Seriennummer erstellen und mit Bindestrichen versehen.
Ich stimme allem anderen zu, aber das ist eine schlechte Empfehlung. Eine CRC (bzw. Checksumme) ist
kein Hash. Hier ist eindeutig ein Hash angesagt, vorzugsweise mit "geheimem" Salz ("Salted Hash").