![]() |
AW: Flottes Hash-Verfahren
für
Zitat:
mfg |
AW: Flottes Hash-Verfahren
|
AW: Flottes Hash-Verfahren
CRC32 ist natürlich etwas schneller als MD4, aber bei sagen wir mal 4000 MP3-Dateien besteht rein rechnerisch die Chance von 1 zu 500000, dass zwei unterschiedliche Dateien den gleichen CRC32 Wert erhalten.
Wenn also zwei Dateien den gleichen CRC haben sollten, wäre es sinnvoll trotzdem noch zu prüfen, ob die Dateien wirklich gleichen Inhalts sind. Wenn du Duplikate finden möchtest, dann kann ich dir ![]() |
AW: Flottes Hash-Verfahren
Beim Hashen von Strings ist ein ELF-Hash viel schneller als CRC. Er erzeugt bei kurzen Strings auch nicht mehr Kollisionen (bei meinen Versuchen)
Delphi-Quellcode:
Function HashFromStr(Const Value: String): Cardinal; // ELF-Hash
Var i: Integer; x: Cardinal; Begin Result := 0; For i := 1 To Length(Value) Do Begin Result := (Result Shl 4) + Ord(Value[i]); x := Result And $F0000000; If (x <> 0) Then Result := Result Xor (x Shr 24); Result := Result And (Not x); End; End; |
AW: Flottes Hash-Verfahren
Zitat:
Ach ja, was manchmal übersehen wird Dateien mit unterschiedlicher Größe sind nicht gleich. Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz