Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.431 Beiträge
 
Delphi 7 Professional
 
#3

AW: Image in Datenbank speichern - nur einmal

  Alt 11. Apr 2021, 15:31
Um Dubletten zu verhindern, speichere ich zusätzlich die MD5-Checksumme. Eindeutiger Index auf die Spalte. Beim Einfügen einer Dublette kracht es dann und ich kann darauf reagieren.

Das ist ein 128-Bit langer Wert. Das reicht vollkommen aus.

Theoretisch kann es bei jedem Hash Dubletten geben, da immer mit einer endlichen Menge von Bit ein Objekt aus einer unendlichen Menge von Objekten abgebildet werden soll. Mit einer endlichen Menge von Bit kann man aber eine unendliche Menge nicht vollständig abbilden.

Es ist also egal welchen Hash Du nimmst. Die Möglichkeit von Dubletten ist nicht auszuschließen. Die Wahrscheinlichkeit von Dubletten tendiert aber gegen 0. (Mir sind mit der MD5-Checksumme noch keine Dubletten untergekommen, egal ob Bilder oder sonstige Dateien.)

Siehe z. B. DNA oder Fingerabdrücke. Auch dort kann es theoretisch Dubletten geben. Die Wahrscheinlichkeit ist jedoch sehr gering (Ausnahme DNA bei eineiigen Mehrlingen, die unterscheiden sich aber dann immernoch in den Fingerabdrücken.)
  Mit Zitat antworten Zitat