Einzelnen Beitrag anzeigen

romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#6

AW: Hash-Wert bestehend aus 16 Zeichen?

  Alt 13. Apr 2013, 17:01
Die Eingangsmenge ist nicht die Seriennummer, sondern die Menge aller möglichen Seriennummern...
Ok, jetzt verstehe ich.

Vielleicht sagst du besser mal, was du mit diesem Hashwert bezweckst. Vielleicht ist ein Hash ja gar nicht der passende Ansatz.
Nach dem alle meine Versuche, eine Funktion für die Ermittlung einer eindeutigen ComputerID zu erstellen, gescheitert sind, habe ich mich verzweifelt für eine teure kommerzielle Lösung entschieden. Der Entwickler garantierte für jedes System eine eindeutige ComputerID, generiert aus der Kombination von CPU-, BIOS- und HDD-Seriennummern. Kurz getestet habe ich die Komponente gekauft. Die Tatsachen, dass die CPU-Seriennummer bei über 90% aller CPUs standartmäßig "versteckt" ist und die BIOS-Seriennummer überhaupt kein pflichtiges Parameter ist, an den sich die Herstellen halten müssen, haben mich nicht vom Kauf abgehalten. Ich dachte mir, der Entwickler soll doch irgendwelche ausgeklügelte Methode gefunden haben, die Daten auszulesen. Auch der Preis ist nicht gerade billig. Kurz gesagt und war froh, endlich eine funktionierende Lösung gefunden zu haben.

Die Komponente liefert einen String aus insgesamt 19 Zeichen geterennt durch "-" (z.B. A4A7-541B-A4DA-4E81). Beim Aufruf der Komponente kann man bestimmen, welche Informationen bei der Generierung der ID einbezogen werden sollen (CPU, BIOS, HDD). Da ich verhindern wollte, dass sich die ComputerID beim Austausch der Festplatte ändert, habe ich immer nur die CPU- und BIOS-Infos gewählt. Beim Start ermittelt mein Programm (Client) das ComputerIDund übermittelt diese beim Login dem Server. Der Server prüft zuerst den Format der ComputerID und führt dann weitere Prüfungen durch. Irgendwann meldete der Server, dass zwei User, die etwa 2.000 Km von einander enfernt sitzen, die gleiche ComputerID haben. Daraufhin habe ich den Entwickler der Komponente angesprochen und es kam heraus, dass es doch nicht immer möglich ist, die CPU- und BIOS-Seriennummern auszulesen, deswegen ließt die Komponente andere Informationen aus, die verfügbar sind. Diese sind aber nicht eindeutig. Ich sollte mir aber trotzdem keine Sorgen machen, denn die Seriennummer der Festplatte reicht für die ComputerID vollkommen aus, meinte der Entwickler. Alle Hesteller vergeben den Laufwerken eindeutige Seriennummern. Das Format ist zwar bei jedem Hersteller anders, aber dafur ist eine Hash-Funktion da. Ich verlangte mein Geld zurück und bekam es auch. Die SN der Festplatte kann ich ja selber auslesen.

Nun stehe ich vor dem Problem, dass ich auch noch die Server-Software ändern muss, wenn ich die HDD-Seriennummer nicht auf 16 Zeichen bringe. Dabei muss es auch noch eindeutig bleiben.
  Mit Zitat antworten Zitat