Einzelnen Beitrag anzeigen

a.def
(Gast)

n/a Beiträge
 
#24

AW: DEC 5.2 String hashen?

  Alt 2. Mai 2017, 16:48
Jetzt noch einmal für ganz dumme (für mich).
ich lade eine Datei in einen Stream und den Inhalt ändere ich in MD5 oder sonst was.

Delphi-Quellcode:
aFileStream.Position := 0;
SetLength(Bytes, aFileStream.Size);
aFileStream.Read(Bytes[0], Length(Bytes));

Bytes := System.hash.THashMD5.GetHashBytes(TEncoding.ANSI.GetString(Bytes));

aFileStream.Position := aFileStream.Size;
aFileStream.Write(Bytes[0], Length(Bytes));
Wenn ich mir TEncoding.ANSI.GetString(Bytes) über Showmessage anzeigen lasse, sehe ich den Dateiinhalt korrekt dargestellt.
Schreibe ich Bytes dann mit Write in den Stream/die Datei, kommt nur Salat in der Datei an.

Bitte sagt mir, dass ich mich auf dem richtigen Weg befinde

Oder ist das eher so vorgesehen?
Delphi-Quellcode:
aFileStream.Position := 0;
SetLength(Bytes, aFileStream.Size);
aFileStream.Read(Bytes[0], Length(Bytes));

s := System.hash.THashMD5.GetHashString(TEncoding.ANSI.GetString(Bytes));

aFileStream.Position := aFileStream.Size;
aFileStream.Write(s[1], Length(s) * SizeOf(Byte));

Geändert von a.def ( 2. Mai 2017 um 16:51 Uhr)