Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#4

AW: Hash-Wert bestehend aus 16 Zeichen?

  Alt 13. Apr 2013, 14:48
Die Eingangsmenge ist nicht die Seriennummer, sondern die Menge aller möglichen Seriennummern. Wenn diese bekannt ist, macht man einfach eine Liste und der Hashwert ist dann einfach der Index in der Liste. Die Ausgangsmenge ist die Menge aller erzeugten Hashwerte.

Wenn du aber nicht weist, welche Seriennummern alles kommen können, und die Länge der Seriennummern und der verfügbare Zeichensatz (z.B. nur Ziffern) nicht ausreichend eingeschränkt ist, dann wird es schwierig, einen dediziert eindeutigen Hash-Algorithmus zu finden, der in einen hinreichend kleinen Zielwert passt.

Ich gebe mal ein Beispiel: Nimm das Telefonbuch von München und ordne jedem Eintrag einen Wert zwischen 0 und 255 zu. Das kann man natürlich nicht eindeutig machen, weil die Eingangsmenge (Telefonbucheinträge) deutlich größer als die Ausgangsmenge (0..255) ist.

Nun ist mit 16 Zeichen (welche Zeichen sind da überhaupt erlaubt?) natürlich schon einiges unterzubringen. Insofern bleibt wohl lediglich das Problem der Eindeutigkeit. Ohne Kenntnis des Aufbaus der Seriennummern wird man dazu aber wenig sagen können.

Vielleicht sagst du besser mal, was du mit diesem Hashwert bezweckst. Vielleicht ist ein Hash ja gar nicht der passende Ansatz.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat