Wahrscheinlichkeit einer Kollision bei Verwendung eines 32-Bit-Hash
Habe ich eine 10-Zeichen-string-Schlüssel-Feld in einer Datenbank. Ich habe verwendet CRC32 hash diesem Bereich, aber ich bin sorgen über Duplikate. Könnte jemand mir zeigen, die Wahrscheinlichkeit einer Kollision in dieser situation?
p.s. meine string-Feld ist einzigartig in der Datenbank. Wenn die Anzahl der string-Felder 1 million, was ist die Wahrscheinlichkeit einer Kollision ?
InformationsquelleAutor der Frage nguyenngoc101 | 2013-01-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Duplizieren von Erwartet Kollisionen für die perfekte 32bit crc
Antwort verwiesen in diesem Artikel: http://arstechnica.com/civis/viewtopic.php?f=20&t=149670
Fand das Bild unten aus: http://preshing.com/20110504/hash-collision-probabilities
InformationsquelleAutor der Antwort Adam Morris
In die Falle, die Sie zitieren, mindestens eine Kollision ist im wesentlichen gewährleistet. Die Wahrscheinlichkeit, dass mindestens eine Kollision ist etwa 1 - 3x10-51. Die Durchschnittliche Anzahl von Kollisionen, die Sie erwarten würden, ist über die 116.
Im Allgemeinen ist die Durchschnittliche Anzahl Kollisionen in k Proben, die jeweils eine zufällige Auswahl unter n mögliche Werte:
Ist die Wahrscheinlichkeit von mindestens einer Kollision ist:
In deinem Fall n = 232 und k = 106.
Die Wahrscheinlichkeit eines drei-Wege-Kollision in Ihrem Fall etwa 0,01. Finden Sie die Geburtstag Problem.
InformationsquelleAutor der Antwort Mark Adler