AGB  ·  Datenschutz  ·  Impressum  







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

MD5 - Unterschiede zw. Indy und DEC6

Ein Thema von dschiffler · begonnen am 19. Mär 2024 · letzter Beitrag vom 22. Mär 2024
 
Benutzerbild von Stevie
Stevie
Online

Registriert seit: 12. Aug 2003
Ort: Soest
4.052 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: MD5 - Unterschiede zw. Indy und DEC6

  Alt 19. Mär 2024, 16:26
Bei Indy würde ich immer enUTF8 angeben, ansonsten wird wie bereits gesagt intern immer das ASCII encoding genutzt, was einfach alle Zeichen größer $7F als '?' interpretiert - siehe TIdASCIIEncoding.GetBytes in IdGlobal.pas

Ebenso musst du bei DEC dafür sorgen, dass er einen UTF8 String hasht und nicht einen UnicodeString (UTF16) - das kann man einfach mit einem Cast auf UTF8String bewerkstelligen, hier baut der Compiler immer die notwendige Konvertierungsfunktion ein. Durch die Überladung von CalcString mit RawByteString wird dann diese aufgerufen.

Delphi-Quellcode:
  var lMD5_Indy := TIdHashMessageDigest5.Create;
  try
    var sValue := lMD5_Indy.HashStringAsHex('Tästwert', enUTF8);
    Writeln(sValue);
  finally
    lMD5_Indy.Free;
  end;

  var lMD5_DEC := THash_MD5.Create;
  try
    var sValue := lMD5_DEC.CalcString(UTF8String('Tästwert'), TFormat_HEX);
    Writeln(sValue);
  finally
    lMD5_DEC.Free;
  end;
Ausgabe (Obacht, ich hab da nen ä in den String geschmuggelt, um das mit dem UTF8 zu testen):

9C6F9390DE3580AA8717DAA21D1E3622
9C6F9390DE3580AA8717DAA21D1E3622

Laut diverser online md5 Generatoren ist das wohl richtig.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  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 07:20 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