Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Welche MD5 Bibliothek arbeitet am schnellsten? (https://www.delphipraxis.net/63397-welche-md5-bibliothek-arbeitet-am-schnellsten.html)

jus 18. Feb 2006 02:20


Welche MD5 Bibliothek arbeitet am schnellsten?
 
Ich benutze derzeit die "md5.pas" von "http://www.fichtner.net/delphi/md5/" um MD5 HashCodes von Dateien zu berechnen. Mir kommt es aber vor, dass es bei vielen Dateien ziemlich lange dauert. Wer weiß welche MD5 Bibliothek am schnellsten einen MD5 Hashcode generiert?

jus

jus 22. Feb 2006 01:26

Re: Welche MD5 Bibliothek arbeitet am schnellsten?
 
Wenn keiner antwortet, muß man sich selber helfen und habe die DEC von Hagen Reddmann ausprobiert. :gruebel:
Für diejenigen, die es auch interessiert: die DEC Bibliothek arbeitet mit MD5 eindeutig schneller als die von Fichtner, obwohl für mich als Laie die Bibliothek von Fichtner einfacher zu verwenden war.

jus

Luckie 22. Feb 2006 06:45

Re: Welche MD5 Bibliothek arbeitet am schnellsten?
 
Die von Olli soll auch rcht schnell sein: http://assarbad.info/de/stuff/!export/

Pseudemys Nelsoni 22. Feb 2006 07:39

Re: Welche MD5 Bibliothek arbeitet am schnellsten?
 
eigentlich sollte jede version gleich sein, solange man sich an die ensprechende rfc hält.

Luckie 22. Feb 2006 07:53

Re: Welche MD5 Bibliothek arbeitet am schnellsten?
 
Nö. Die eine kann performanter implementiert sein als die andere. Der eine macht viele String-Operationen der andere eben nicht.

himitsu 22. Feb 2006 10:46

Re: Welche MD5 Bibliothek arbeitet am schnellsten?
 
Und manche machen es direkt und ich habe es z.B. in einem kürzeren Code, aber dafür mit einigen Schleifchen gemacht (einige schneller und andere kleiner, aber dennoch schneller als andere :roll: )

gammatester 22. Feb 2006 17:20

Re: Welche MD5 Bibliothek arbeitet am schnellsten?
 
Hallo,

schnelle MD5-Routinen (11.5 Cycles/Byte mit P4, ca 150 MB/s bei 1.8 GHz) gibts auch als Quellcode auf der CRC/Hash/HMAC-Seite meiner Homepage <http://home.netsurf.de/wolfgang.ehrhardt/>. Für Dateien als Einzeiler

procedure MD5File(fname: string; var Digest: TMD5Digest; var buf; bsize: word; var Err: word);
{-MD5 of file, buf: buffer with at least bsize bytes}

Direkter Link <http://home.netsurf.de/wolfgang.ehrhardt/crc_hash_2006-02-18.zip>

Da dies mein erster Beitrag im Forum ist, bitte um Gnade falls irgendwas falsch gemacht wurde.

Wolfgang

jus 23. Feb 2006 23:25

Re: Welche MD5 Bibliothek arbeitet am schnellsten?
 
Danke zunächstmal für die vielen Angaben der Biblotheken!! :)
ich habe die Finger davon nicht loslassen können :P und habe nun die oben angeführten Bibliotheken ausprobiert, und bin zum folgenden Performance Ranking bei den Datei-Hash-Funktionen gekommen:
Platz 1. DEC (Hagen Reddmann) (http://www.michael-puff.de/dirindex....agen_Reddmann/)
Platz 2. Wolfgang Ehrhardt (http://home.netsurf.de/wolfgang.ehrhardt/)
Platz 3. Assarbad (http://assarbad.info/de/stuff/!export)
Platz 4. Fichtner (http://www.fichtner.net/delphi/md5/)

Ich möchte aber ausdrücklich darauf hinweisen, dass dieses Ranking nur mein persönlich erster Eindruck war. Es bezieht sich nur auf meine Konfiguration (Computer, Betriebssystem,..) und hat keine objektive Aussage.
Außerdem möchte ich allen Autoren danken für das öffentliche Bereitstellen ihrer Bibliotheken!

jus

negaH 24. Feb 2006 07:48

Re: Welche MD5 Bibliothek arbeitet am schnellsten?
 
@jus,

ich verstehe deine Schwierigkeiten nicht so recht, was ist den kompliziert daran mit

Delphi-Quellcode:

uses DECHash, DECFmt;

Result := THash_MD5.CalcFile('c:\test.bin', TFormat_HEX);
???

Gruß hagen

jus 24. Feb 2006 09:08

Re: Welche MD5 Bibliothek arbeitet am schnellsten?
 
Hallo Hagen!

Die Schwierigkeit lag allein bei mir(Programmieranfänger) :) , nicht allgemein gemeint. Da DEC wenig Doku besitzt, habe ich hier im Forum nach den Parameterangaben zu "THash_MD5.CalcFile" gesucht, und hatte lange und vergeblich versucht die überarbeitete Unit mit dem veralteten Parameter
Delphi-Quellcode:
ResultStringAlsHEX := THash_MD5.CalcFile('C:\DeineDatei.txt', nil, fmtHEX);
zum Laufen zu bekommen. Bis ich schließlich diesen Abschnitt in der DECHash.pas genauer angeschaut habe, und ich draufgekommen bin, dass nun statt fmtHEX -> TFormat_HEX benötigt wird. :oops:

jus


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:00 Uhr.
Seite 1 von 2  1 2      

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