AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Aus String eindeutige ID (oder ähnliches) machen
Thema durchsuchen
Ansicht
Themen-Optionen

Aus String eindeutige ID (oder ähnliches) machen

Ein Thema von s.h.a.r.k · begonnen am 1. Sep 2006 · letzter Beitrag vom 5. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

Aus String eindeutige ID (oder ähnliches) machen

  Alt 1. Sep 2006, 13:28
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
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#2

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

  Alt 1. Sep 2006, 13:30
Benutz doch einen MD5-Hash.

Gruß Igotcha
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

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

  Alt 1. Sep 2006, 13:34
- hashen, damit wirds zwar nicht eindeutig, aber ziemlich eindeutig
- 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...
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

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

  Alt 1. Sep 2006, 13:44
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.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#5

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

  Alt 1. Sep 2006, 13:48
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.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

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

  Alt 1. Sep 2006, 13:49
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
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#7

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

  Alt 1. Sep 2006, 13:50
@Igotcha: Ja, wie Khabarakh bereits gesagt hat. Also entweder string selber hernehmen oder Hashen...
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#8

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

  Alt 5. Sep 2006, 11:16
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?!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#9

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

  Alt 5. Sep 2006, 11:27
Das Ding pappt die ersten 8 Zeichen des Strings aneinander, mehr nicht.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#10

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

  Alt 5. Sep 2006, 11:37
warum so kompliziert?
guid erzeugen und in string umwandeln.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz