Autor Beitrag
_Joe_
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47

Arch Linux/XP
VS2008 Prof.,Codeblocks
BeitragVerfasst: Mi 14.07.10 11:19 
Hallo,

ich hab hier ein Datenbank mit 1.000.000 Einträge zu jeden, dieser Eintrag hätte ich gern ein einzigartigen Hash Wert.

Würde SHA-1 en.wikipedia.org/wiki/SHA-1 reichen? Meine Rechnung sieht so aus:


16^40 zur Erklärung: 16 = Zeichen von Hexadezimal, 40 Länge des Outputs also "Plätze"
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Mi 14.07.10 11:28 
Hallo,

vielleicht erzählst du uns was du mit dem Hash-Wert vor hast? Vlt. gibt es eine einfacherer/bessere Lösung.

Gruß
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 14.07.10 11:29 
Hashwerte sind prinzipbedingt nie einzigartig. Bei den gängigen Verfahren, auch schon bei MD5, ist die Kollisionswahrscheinlichkeit im Normalfall aber recht gering.

Wenn du damit leben kannst, dass in sehr eltenen Fällen das fehlschlägt, kannst du imho dabei bleiben, ansonsten musst du Mechanismen zur Kollisionsauflösung anwenden. Z.B. an den Hashplätzen jeweils eine Liste verwalten, oder einen Ausweichplatz bestimmen. Z.B. durch die Hashtable laufen bis zum nächsten freien Platz (linear oder in quadratischen Schritten), oder durch eine zweite Hashfunktion einen Ausweichplatz bestimmen.

_________________
We are, we were and will not be.
Flamefire
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Mi 14.07.10 11:54 
Und in ner Datenbank tabelle haben die Einträge meist eine autoincrement id. Die ist doch schon einzigartig.
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mi 14.07.10 19:13 
Ansonsten kannst du auch noch GUIDs nehmen.

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit