AGB  ·  Datenschutz  ·  Impressum  







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

MD5 Hash einer Datei ermitteln

Offene Frage von "Z4ppy"
Ein Thema von Z4ppy · begonnen am 13. Feb 2009 · letzter Beitrag vom 14. Feb 2009
Antwort Antwort
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#1

MD5 Hash einer Datei ermitteln

  Alt 13. Feb 2009, 18:20
Ich habe diesen Eintrag in der Code Library schon gesehen, allerdings gehts da um Delphi .NET

Ich möchte mir ein Programm schreiben, das möglichst schnell den MD5 Hash einer Datei berechnen kann. Die 25 Sekunden für 700 MB scheinen mir da schon relativ schnell. Wie kann man das in Delphi am besten umsetzen?

MfG Z4ppy
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: MD5 Hash einer Datei ermitteln

  Alt 13. Feb 2009, 18:24
Hast du das hier mal ausprobiert?
  Mit Zitat antworten Zitat
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: MD5 Hash einer Datei ermitteln

  Alt 13. Feb 2009, 18:34
Hab ich jetzt nicht ausprobiert, aber im oben verlinkten Thread steht ja auch:
Zitat:
Nachtrag: Test mit 700MB grosser File durchgeführt, Resultat ist das man übers FCL sehr schnell Hashen kann, beim Test bin ich auf 25sek gekommen. Für die gleiche File brauchte DAMN_Hash_Calculator_v1_5_1.exe bei mir knappe 60sek. Die selbe File noch mit md5.pas unter Delphi6 hat mehrere Minuten gedauert.
Das wird wohl diese md5.pas sein, daher.....

MfG Z4ppy
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: MD5 Hash einer Datei ermitteln

  Alt 13. Feb 2009, 21:16
Ups, wer lesen kann ist klar im Vorteil, sorry.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#5

Re: MD5 Hash einer Datei ermitteln

  Alt 13. Feb 2009, 21:22
Muss es unbedingt eine Delphi-Implementation von MD5 sein? Wenn nicht, könntest du einfach voroptimierte Objektdateien linken.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#6

Re: MD5 Hash einer Datei ermitteln

  Alt 13. Feb 2009, 22:35
Hallo,

die verlinkte Unit MD5.pas bietet noch einige Optimierungsmöglichkeiten:

1. Die Aufrufe der Funktionen F, G, H und I durch die jeweils einzige Anweisung ersetzen.
2. Die Aufrufe der Funktion rot durch die jeweils einzige Anweisung ersetzen.
3. Die jeweils letzte Inc-Anweisung in FF, GG, HH und II in den vorangehenden Ausdruck einbauen.
4. Die Funktion Encode durch Move ersetzen.

Zusammen mit einer eingeschalteten Optimierung sollte sich eine deutliche Reduzierung der Laufzeit ergeben.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: MD5 Hash einer Datei ermitteln

  Alt 13. Feb 2009, 22:49
@Dax: Es soll einfach so schnell wie möglich sein, ich möchte daher eigentlich mehrere Sachen ausprobieren und dann das schnellste nehmen. Aber wenn du mir so eine voroptimierte Objektdatei geben kannst, dann nur her damit...

@Hawkeye: Danke, ich werde morgen mal probieren, da ein wenig zu schrauben...

MfG Z4ppy
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#8

Re: MD5 Hash einer Datei ermitteln

  Alt 13. Feb 2009, 23:26
Wäre nicht überrascht, wenn das DEC im Vergleich auch nicht schlecht abschneidet
(in irgendeinem Beitrag* hat Hagen auch noch eine schnellere inoffizielle Version erwähnt).

Es gibt auch Md5-Funktionen in der Windows-"Cryptdll.dll", keine Ahnung ob die schnell oder langsam sind.

MfG,
Bug

* Man muss sich nur die richtigen Schlüsselwörter für die Suche merken: Hier im Forum suchenRussen Md5
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#9

Re: MD5 Hash einer Datei ermitteln

  Alt 14. Feb 2009, 09:04
Zitat von Hawkeye219:
Hallo,

die verlinkte Unit MD5.pas bietet noch einige Optimierungsmöglichkeiten:

1. Die Aufrufe der Funktionen F, G, H und I durch die jeweils einzige Anweisung ersetzen.
2. Die Aufrufe der Funktion rot durch die jeweils einzige Anweisung ersetzen.
3. Die jeweils letzte Inc-Anweisung in FF, GG, HH und II in den vorangehenden Ausdruck einbauen.
4. Die Funktion Encode durch Move ersetzen.

Zusammen mit einer eingeschalteten Optimierung sollte sich eine deutliche Reduzierung der Laufzeit ergeben.

Gruß Hawkeye
deine Optimierungen sind da schon alle lange drin, ^^
und dann wurde alles noch nach ASM gewwandelt
http://www.delphipraxis.net/internal...t.php?t=135239 siehe FHash.pas
die entsprehenden Pascal-Befehle stehen aber immernoch als Kommentar im Assemblercode drin.
und irgendwo geister noch 'ne Single-Version der FHash rum (also nur die Hashfunktionen in einer einzelnen Datei)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: MD5 Hash einer Datei ermitteln

  Alt 14. Feb 2009, 09:49
Ich werde heute mehrere Sachen ausprobieren und dann hier Bericht erstatten.
Danke vorerst

MfG Z4ppy

€dit: OK, ich habs völlig vergessen das zu machen, weil ich so viel anderes zu tun hatte... Aber morgen kommts dran
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz