AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hashen!!! Wie???

Ein Thema von ATwardz · begonnen am 7. Okt 2003 · letzter Beitrag vom 13. Dez 2003
 
aMuTeX

Registriert seit: 8. Mai 2003
Ort: Luzern
54 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Hashen!!! Wie???

  Alt 8. Okt 2003, 10:01
Hallo ATwardz

Also ein Hash ist ein eindeutiger Wert für eine Datei oder einen String oder ähnliches. Es gibt verschiedene Alogrithmen welche diesen Hash-Wert aus der Datei erzeugen (MD5, SHA... oder dein SimpleHash). Es ist sehr unwahrscheinlich das zwei verschiedene Dateien denselben Hash ergeben. Zudem ist die ganze Sache nur in eine Richtung machbar. Also vom Hash-Wert lässt sich die Quelle nicht erzeugen aber ein und dieselbe Quelle ergibt immer den selben Hash-Wert.

Um nun Dateien zu vergleichen gibts eben zwei Möglichkeiten:
1. Du vergleichst die Dateien Bit für Bit (so wie bei deiner Funktion AreFilesEqual)
2. Du vergleichst den Hash-Wert der Dateien.

Die Hash-Werte kannst du natürlich in einer Tabelle speichern damit die Werte nicht jedesmal neu aus den Dateien gebildet werden müssen. Der Hash-Algo braucht natürlich auch eine gewisse Zeit (abhängig vom Algo) aber meist weniger als ein BinaryCompare.

Hash-Algos für Delphi findest du z.B. hier:
http://www.cobans.net/hashlib.html

Ich hoffe das hilft dir soweit.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 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