AGB  ·  Datenschutz  ·  Impressum  







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

DEC 5.2 String hashen?

Ein Thema von a.def · begonnen am 2. Mai 2017 · letzter Beitrag vom 7. Mai 2017
 
nahpets
(Gast)

n/a Beiträge
 
#15

AW: DEC 5.2 String hashen?

  Alt 2. Mai 2017, 19:21
String ist aber auch nicht sinnvoll.

Wenn man 'nen Hash auf 'ne Exe machen will, geht man sie bytewesie durch.

TFileStream oder TMemoryStream dürften hier eher die Mittel der Wahl sein.

Unter Delphi 7 nutze ich diese Unit: https://sourceforge.net/p/lazarus-cc...hes/dcpmd5.pas

Das geht dann ungefähr so:
Delphi-Quellcode:
function TfmMain.GetMD5(st : TMemoryStream) : String;
var
  Digest : array[0..15] of byte;
  i : Integer;
  iPos : Integer;
  md5 : TDCP_md5;
begin
  md5 := TDCP_md5.Create(Self);
  iPos := st.Position;
  st.Position := 0;
  md5.Init;
  md5.UpdateStream(st,st.Size);
  md5.Final(Digest);
  Result := '';
  for i := 0 to 15 do Result := Result + IntToHex(Digest[i],2);
  st.Position := iPos;
  md5.Free;
end;
MD5 an 'ne Datei anhängen:
Delphi-Quellcode:
var
  Digest : array[0..15] of byte;
  i : Integer;
  iPos : Integer;
  md5 : TDCP_md5;
begin
  md5 := TDCP_md5.Create(Self);
  sf := tFileStream.Create(ParamStr(0),fmOpenReadWrite);
  md5.Init;
  md5.UpdateStream(sf,sf.Size);
  md5.Final(Digest);
  sf.Position := sf.Size;
  for i := 0 to 15 do sf.Write(Digest[i],1);
  sf.Free;
  md5.Free;
end;
In neueren Delphis gibt es dashier: http://docwiki.embarcadero.com/Libra...hBytesFromFile

Ich rate jetzt mal, es könnte so ein Einzeiler sein: ShowMessage(TEncoding.ANSI.GetString(System.Hash.THashMD5.GetHashBytesFromFile(ParamStr(0)));
Das Ergebnis davon an 'ne Datei zu hängen, dürften dann kein Problem mehr sein.
 
 


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 13:40 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