AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

hagen reddman dec Umlaute MD5

Ein Thema von Pro_RJ · begonnen am 12. Okt 2012 · letzter Beitrag vom 14. Okt 2012
Antwort Antwort
Pro_RJ

Registriert seit: 16. Apr 2008
146 Beiträge
 
#1

AW: hagen reddman dec Umlaute MD5

  Alt 13. Okt 2012, 21:37
Danke für die Tips,
ich habe jetzt auch erste Ergebnisse,
Also wenn ich die Strings in UTF8 umwandel ist alles ok,
Danke.
Allerdings funktioniert das leider nicht mit Buffern( also Array of byte) da die länge nicht mehr passt.
oder mache ich bei bei der Umwanddlung einen Fehler?


Delphi-Quellcode:
Var // Str : TMemorystream;
    B : Array of Byte;
    s : RawByteString;
    le : Integer;
begin
// s := UTF8Encode(memo1.lines.text);
  s := AnsiToUtf8(memo1.lines.text);

  le := length(S);
  setlength(B,le);
  move(s,B,le);
// B := byte('ö'); // Hier ist B = Decimal 246 ist OK kleines oe
// Label1.Caption := THash_MD5.CalcStream(Str,Str.size,TFormat_HEX);
  Label1.Caption := THash_MD5.CalcBuffer(b,le ,TFormat_HEX);
// Label1.Caption := THash_MD5.CalcBinary(S,TFormat_HEX);
  // Richtig wäre a172480f4e21d0a124bac19c89569c59 (lt Internet)
  // Berechnet ist 44F2C50B838F92970D2C11E2FA98BC7D
end;
Die Daten die ich per MD5 berechnen möchte stammen aus einem XML-Dokument (TXMLDocument) hier ist in der Formatierung UTF8 angegeben.Wenn das XML-Dokument fertig erzeigt ist wird alles per SaveToStream gespeichert und dieser Stream wird dann in einen Buffer geladen und aus diesem Buffer wid dann der MD5 berechnet.
Müsste ich dann den Stream erst wieder in UTf8 Konvertieren und dann den MD5 berechnen oder geht das nicht auch irgendwie einfacher?

Geändert von Pro_RJ (13. Okt 2012 um 22:04 Uhr) Grund: erweitert
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#2

AW: hagen reddman dec Umlaute MD5

  Alt 13. Okt 2012, 23:15
Dein Fehler ist die falsche Verwendung von MOVE.

So wie du es jetzt machst, kopierst du die internen Zeiger der Arrays/String und nicht den Inhalt im String/Array.

Move(S[1], B[0], le);
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Pro_RJ

Registriert seit: 16. Apr 2008
146 Beiträge
 
#3

AW: hagen reddman dec Umlaute MD5

  Alt 14. Okt 2012, 12:45
huhu,
ja manchmal sind es die kleinen Dinge im leben...
Danke jetzt geht es genau so wie es soll und es kommen im moment auch die richtigen Ergebnisse raus.
Vielen lieben dank für die hilfen
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:32 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