Einzelnen Beitrag anzeigen

Bünni

Registriert seit: 4. Mär 2019
67 Beiträge
 
#1

Eindeutige ID aus einem String berechnen

  Alt 19. Apr 2019, 00:37
Für die Lösung eines Problems benötige ich demnächst vermutlich etwas wie eine eindeutige ID, welche ich aus einem gegebenem String berechnen kann, der ohnehin schon eindeutig ist und nur einmal vorkommen kann. Die ID benötige ich aus diversen Gründen zusätzlich.

Die ID sollte wenn möglich nicht so lang sein wie MD5. Welche Möglichkeiten bleiben mir da noch? Mir stehen dafür unter anderem die Wolfgang Ehrhardt Komponenten zur Verfügung.

Ich habe gerade CRC32 getestet. Aber ist das eindeutig genug?
Delphi-Quellcode:
function CRC32String(const Text: string): string;
var
 i: Integer;
 TextLen: Word;
 buf: array [0 .. 4095] of Byte;
 CRC: LongInt;
 ctx: TCRC_ctx;
begin
 TextLen := Length(Text);
 for i := 1 to TextLen do
  buf[i - 1] := Byte(Text[i]);

 cm_Create(CRC32_Zip, nil, ctx);
 cm_Full(ctx, CRC, @buf, TextLen);

 Result := IntToHex(CRC, 8);
end;

Geändert von Bünni (19. Apr 2019 um 01:28 Uhr)
  Mit Zitat antworten Zitat