Zitat von
DGL-luke:
So müsste das funktionieren. Dann erhältst du zwar einen ziemlich großen, aber mE einzig eindeutigen Wert.
Nö. Solange sich die Werte überlappen, kann das nichts werden.
CC -> 67 * 2^0 + 67 * 2^1 = 201
AD -> 65 * 2^0 + 68 * 2^1 = 201
Wenn du die Werte nun so alignst, dass sie sich nicht überlappen, hast du einen wirklich eindeutigen Wert. Da du aber besser gesagt damit einfach alle Chars aneinandergepappt hast, hast du wieder den Original-String
.
Es gibt also zwei Methoden: Entweder den String selbst als ID benutzen (immer eindeutig) oder eben einen Hashwert benutzen. Bastelt man sich keinen eigenen Algorithmus, sondern vertraut auf anerkannte, kann man den Hash trotzdem noch als sogutgutwieeindutig ansehen.