Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Aus String eindeutige ID (oder ähnliches) machen (https://www.delphipraxis.net/76286-aus-string-eindeutige-id-oder-aehnliches-machen.html)

s.h.a.r.k 1. Sep 2006 13:28


Aus String eindeutige ID (oder ähnliches) machen
 
Hallo,

ich habe nun eine halbe Stunde gesucht nud bin nicht unbedingt auf was Brachbares gestoßen, d.h. was ich sofort verwenden würde. Und zwar geht es darum, aus deinem String eine eindeutige ID zu machen (oder wie man das nennt). Diese ID sollte nicht all zu lang sein, ob String oder Integer ist mir dabei egal.

Das hier habe ich bei den Schweizern gefunden: Link. Nur bin ich mir nicht sicher, ob da wirklich was eindeutiges dabei rauskommt. Habe leider auch nicht sehr viel Ahnung bzgl diesem Thema - bin also auf eure Hilfe angewiesen?!

mfg Armin

Igotcha 1. Sep 2006 13:30

Re: Aus String eindeutige ID (oder ähnliches) machen
 
Benutz doch einen MD5-Hash.

Gruß Igotcha

DGL-luke 1. Sep 2006 13:34

Re: Aus String eindeutige ID (oder ähnliches) machen
 
- hashen, damit wirds zwar nicht eindeutig, aber ziemlich eindeutig :mrgreen:
- den ASCII-Wert jedes Chars mit seiner "Wertigkeit", also Stelle im string, multiplizieren, und die Summe daraus bilden. damit hast du imo einen eindeutigen wert... du solltest allerdings mit wertigkeit 1 anfangen und dann in 2er-potenzen oder so ähnlich weitergehen, sind ja nur 255 möglichkeiten... also so:

'ABC'
-> C = 67, B = 66, A = 65
-> C = 67 * 2^0, B=66 * 2^1, A = 65 * 2^2

So müsste das funktionieren. Dann erhältst du zwar einen ziemlich großen, aber mE einzig eindeutigen Wert.

EDIT: Und ich glaube nicht, dass das irgendwie performanter ist, als den string selbst zu speichern...

Khabarakh 1. Sep 2006 13:44

Re: Aus String eindeutige ID (oder ähnliches) machen
 
Zitat:

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 :mrgreen: .

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.

Igotcha 1. Sep 2006 13:48

Re: Aus String eindeutige ID (oder ähnliches) machen
 
Zitat:

Zitat von DGL-luke
- den ASCII-Wert jedes Chars mit seiner "Wertigkeit", also Stelle im string, multiplizieren, und die Summe daraus bilden. damit hast du imo einen eindeutigen wert... du solltest allerdings mit wertigkeit 1 anfangen und dann in 2er-potenzen oder so ähnlich weitergehen, sind ja nur 255 möglichkeiten... also so:

Hmmm, ist das eindeutiger als ein z.B. MD5-Hash?

Da die Basen unterschiedlich sind und später die Summe gebildet wird, kann diese in unterschiedlichen Ausgangsstrings durchaus gleich sein. Ist ja nicht wie z.B. beim Byte, wo Du als Basis nur 0 oder 1 hast.

Zacherl 1. Sep 2006 13:49

Re: Aus String eindeutige ID (oder ähnliches) machen
 
Ich würde den String auf jeden Fall hashen ... ob es nun MD5 sein muss ist die andere Frage ... ich persönlich würde SHA1 verwenden, aber das ist wohl Geschmackssache.

Florian

DGL-luke 1. Sep 2006 13:50

Re: Aus String eindeutige ID (oder ähnliches) machen
 
@Igotcha: Ja, wie Khabarakh bereits gesagt hat. Also entweder string selber hernehmen oder Hashen...

s.h.a.r.k 5. Sep 2006 11:16

Re: Aus String eindeutige ID (oder ähnliches) machen
 
Zitat:

Zitat von s.h.a.r.k
Das hier habe ich bei den Schweizern gefunden: Link. Nur bin ich mir nicht sicher, ob da wirklich was eindeutiges dabei rauskommt. Habe leider auch nicht sehr viel Ahnung bzgl diesem Thema - bin also auf eure Hilfe angewiesen?!

Habt ihr mir darauf auch eine Antwort?!

3_of_8 5. Sep 2006 11:27

Re: Aus String eindeutige ID (oder ähnliches) machen
 
Das Ding pappt die ersten 8 Zeichen des Strings aneinander, mehr nicht.

generic 5. Sep 2006 11:37

Re: Aus String eindeutige ID (oder ähnliches) machen
 
warum so kompliziert?
guid erzeugen und in string umwandeln.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz