![]() |
MD5 Hash einer Datei ermitteln
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:
FileStream erstellen:
System.Security.Cryptography
System.IO FILE_PATH enthält den Pfad zu eurer Datei zB 'c:/download.dat'
Delphi-Quellcode:
MD5CryptoServiceProvider erstellen, diese Enthält Methoden für das erzeugen von Hashes
myFileStream := FileStream.Create(FILE_PATH, FileMode.Open, FileAccess.Read, FileShare.None);
Delphi-Quellcode:
Der Methode ComputeHash den FileStream übergeben, ComputeHash liefert ein Byte Array zurück
myMD5CryptoServiceProvider := MD5CryptoServiceProvider.Create;
Delphi-Quellcode:
Ressourcen freigeben
Buffer := myMD5CryptoServiceProvider.ComputeHash(myFileStream);
Delphi-Quellcode:
Das Byte Array in die 32 stellige Hexadezimal Schreibweise konvertieren zB '4679E94E07F9A61F42B3D7F50CAE0AEF'
myMD5CryptoServiceProvider.Clear;
myFileStream.Close;
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 ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:36 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