Wie bewerte ich die Hash-Kollisionswahrscheinlichkeit?

Entwickle ich ein back-end-Anwendung für die Suche. Die Suche nach system kopiert die Dateien in ein temporäres Verzeichnis und gibt Sie zufällige Namen. Dann geht es um die temporären Dateien' Namen meiner Anwendung. Meine Anwendung muss jede Datei, die in einem begrenzten Zeitraum, sonst ist es abgeschaltet - das ist ein watchdog-wie Sicherheitsmaßnahme. Verarbeitung von Dateien wird wahrscheinlich zu lange dauern, also muss ich das design der Anwendung in der Lage Umgang mit diesem Szenario. Wenn meine Anwendung wird heruntergefahren nächste mal die such-system will-index die gleiche Datei, es wird wahrscheinlich gibt es einen anderen temporären Namen.

Ist die offensichtliche Lösung ist, um eine Zwischenschicht zwischen dem Suchsystem und dem backend. Es wird in die Warteschlange der Anfrage an das backend weitergeleitet und warten auf das Ergebnis zu kommen. Wenn die Anfrage mal in die Zwischenschicht - kein problem, das backend weiter arbeiten, nur die Zwischenschicht ist neu gestartet und es abrufen kann, das Ergebnis aus dem backend, wenn der Antrag später wiederholt von der Suche nach system.

Das problem ist, wie zur Identifizierung der Dateien. Ihre Namen ändern sich nach dem Zufallsprinzip. Ich beabsichtige, verwenden Sie eine hash-Funktion wie MD5-hash der Datei-Inhalte. Ich bin mir bewusst, das Geburtstag paradox und verwendet eine Schätzung aus dem verlinkten Artikel, um die Berechnung der Wahrscheinlichkeit. Wenn ich davon ausgehe ich habe nicht mehr als 100 000-Dateien, die Wahrscheinlichkeit, dass zwei Dateien mit demselben MD5 (128 bit) ist etwa 1,47x10-29.

Sollte ich Pflege solche Kollisions-Wahrscheinlichkeit, oder einfach davon ausgehen, dass der gleiche hash-Werte bedeuten, dass gleich der Inhalt der Datei?

Kommentar zu dem Problem - Öffnen
dies ist ein hash auf den Inhalt der mit dem Namen? Kommentarautor: Sam Saffron
Der Inhalt gehasht ist. Es gibt keinen Punkt in der Vermischung die Dateinamen ändern sich zufällig. Kommentarautor: sharptooth
Wenn Sie sind besorgt über Kollisionen, berücksichtigen Sie die Dateigröße und der hash. Kommentarautor: Marcus Adams

InformationsquelleAutor der Frage sharptooth | 2009-05-14

Schreibe einen Kommentar