Ich habe eine Liste von ca.. 2500 Bilder. Für jedes Bild erstelle ich einen SHA1-Hash, mit dem ich jedes Bild referenzieren kann. Ich verwende auch die Hashes, um doppelte Bilder in der Liste zu finden.Angemessene SHA1 Hash-Länge für eine bestimmte Anzahl von Werten
Standardmäßig sind SHA1-Hashes 40 Zeichen lang. Momentan schneide ich die Hashes auf die ersten 7 Zeichen herunter. Ist das eine vernünftige Länge oder ist die Kollisionswahrscheinlichkeit zu hoch?
Welche Wahrscheinlichkeit ist akzeptabel? – zaph
bezieht sich auf alles mit abgeschnittenen * (!!) * Hashes ist ** nie ** eine gute Idee. Stattdessen sollten Sie eindeutige IDs wie aufsteigende Nummern generieren und verwenden. Alles andere wird zu Verwirrung und/oder Softwarefehlern führen. Selbst Anwendungsfälle wie Eclipse-EGIT-Commit-History-Hashes sind ... sehr fragwürdig, obwohl sie nur für Anzeigezwecke verwendet werden. – specializt
Aufsteigende Zahlen liefern keine Informationen über Bilder, die identisch sind. Wie bei der Kürzung ist jedes Bit im Wesentlichen unabhängig, so dass die Kürzung die "Zufälligkeit" nicht reduziert und Routine mit größeren Hashes ausgeführt wird, wenn eine Teilmenge benötigt wird, wie etwa eine 16-Byte-IV. – zaph