AGB  ·  Datenschutz  ·  Impressum  







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

MD5-Prüfroutine für Delphi 10.2

Ein Thema von Harry Stahl · begonnen am 26. Nov 2017 · letzter Beitrag vom 29. Nov 2017
 
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#13

AW: MD5-Prüfroutine für Delphi 10.2

  Alt 26. Nov 2017, 19:35
Um das zu kompletieren. Gibt es jemanden der eine funktionierende Implementierung (Datei / Stream hashen) mit den WE-Units fertig bekommt?
Also ohne diese WE units zu kennen, müsste es so gehen :
Nein, nicht ganz. Hier ein Konsol-Prgramm, das paramstr(1) hasht.
Delphi-Quellcode:
program md5file;
{$apptype console}

uses
  system.classes,
  hash, md5, mem_util;

function MD5F(const AFileName: String): string;
var
 Context: THashContext;
 Hash: TMD5Digest;
 aStream : TMemoryStream;
begin
 aStream := TMemoryStream.Create;
 aStream.LoadFromFile(AFileName);
 MD5Init(Context);
 MD5UpdateXL(Context, aStream.Memory, aStream.Size);
 MD5Final(Context, Hash);
 Result := string(Mem_Util.HexStr(@Hash, SizeOf(Hash)));
 aStream.Free;
end;

begin
  writeln(MD5F(paramstr(1)));
end.
Und das Ergebnis für ein File mit 512 MB nur 'a':
Code:
D:\Work\CRC_HASH>timethis md5file 512MB_A

TimeThis : Command Line : md5file 512MB_A
TimeThis :   Start Time : Sun Nov 26 20:32:01 2017

31e4d9c6d74cd592b78f77f72965d6ab

TimeThis : Command Line : md5file 512MB_A
TimeThis :   Start Time : Sun Nov 26 20:32:01 2017
TimeThis :     End Time : Sun Nov 26 20:32:04 2017
TimeThis : Elapsed Time : 00:00:02.840

Geändert von gammatester (26. Nov 2017 um 19:38 Uhr)
  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 04:54 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