AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: Algorithmen Prism MD5 Hash einer Datei ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

MD5 Hash einer Datei ermitteln

Ein Thema von marodeur · begonnen am 30. Apr 2005
Antwort Antwort
Benutzerbild von marodeur
marodeur

Registriert seit: 19. Okt 2003
Ort: Wismar
8 Beiträge
 
Delphi 2005 Architect
 
#1

MD5 Hash einer Datei ermitteln

  Alt 30. Apr 2005, 18:13
Manchmal benötigt man den MD5 Hash einer Datei um sie eindeutig zu Identifizieren, dieser Code sollte helfen es mit den .NET Framework zu realisieren.
Getestet habe ich das ganze mit Delphi 2005 und .NET Framework v1.1.

Benötigte Namespace:
Delphi-Quellcode:
System.Security.Cryptography
System.IO
FileStream erstellen:
FILE_PATH enthält den Pfad zu eurer Datei zB 'c:/download.dat'
myFileStream := FileStream.Create(FILE_PATH, FileMode.Open, FileAccess.Read, FileShare.None); MD5CryptoServiceProvider erstellen, diese Enthält Methoden für das erzeugen von Hashes
myMD5CryptoServiceProvider := MD5CryptoServiceProvider.Create; Der Methode ComputeHash den FileStream übergeben, ComputeHash liefert ein Byte Array zurück
Buffer := myMD5CryptoServiceProvider.ComputeHash(myFileStream); Ressourcen freigeben
Delphi-Quellcode:
myMD5CryptoServiceProvider.Clear;
myFileStream.Close;
Das Byte Array in die 32 stellige Hexadezimal Schreibweise konvertieren zB '4679E94E07F9A61F42B3D7F50CAE0AEF'
Delphi-Quellcode:
while i < (Buffer AS &Array).Length do
begin
  MD5Str := MD5Str + Buffer[i].ToString('x2');
  inc(i);
end;
MD5Str := MD5Str.ToUpper;

MD5Str enthält nun den MD5 Hash.
So das wars eigentlich

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.
Talk to the hand!
  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 10:32 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