Einzelnen Beitrag anzeigen

Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
485 Beiträge
 
Delphi 11 Alexandria
 
#22

AW: Eindeutige ID aus einem String berechnen

  Alt 23. Apr 2019, 00:24
Bedenkt, dass Hashes ebenso nicht "eindeutig" sind, da zu jedem Hash auch unbegrenzt viele Strings gehören.
CRC32 ist nur deshalb keine Hashfunktion, weil du aus ihr den eigentlichen String sehr leicht wieder zurückgewinnen kannst.
Das ist falsch. Was man leicht finden kann, ist eine Eingabe, die denselben CRC32-Wert ergibt, nicht jedoch notwendigerweise die Eingabe, die den CRC32-Wert ergeben hat. Letzteres ist schlicht unmöglich, es sei denn, die möglichen Eingaben sind sehr beschränkt.
Der erste von dir zitierte Satz sagt doch genau das. Wenn du aber nur auf den zweiten inhaltlich eingehst, so kann es natürlich durchaus zu so einem Missverständnis kommen, da nur der allein nicht ganz eindeutig ist (genau wie Hashes und CRC32, ha ha).
Und selbst dann ist dein Einwand doch vollkommen irelevant, weil das Problem doch trotzdem da ist: Es gibt mehrere Strings mit dem selben CRC-Wert. Also ist er nicht eindeutig, zumindest nicht in beide Richtungen. Somit für die Fragestellung nicht zu gebrauchen. Meine Aussage war ja nur, dass das bei Hashfunktionen halt eben nur graduell anders ist: Auch diese sind nicht eindeutig.

Zur Sicherheit, und warum CRC für Hashes ungeeignet ist: Ja, natürlich bekommst du in beiden Fällen nicht das originale Word zurück. Ist aber doch vollkommen egal. Ein möglicher Hash reicht ja schon. Und da es bei CRC32 nun mal, wie von mir beschrieben, sehr leicht ist, diesen bzw. eins zu bekommen, ist es ungeeignet. Das heißt aber nicht, dass Hashfunktionen wie SHA128 "eindeutig" sind. Sie sind nur "eineutiger".
Dennis
  Mit Zitat antworten Zitat