myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Hilfe bei Portierung (https://mygully.com/showthread.php?t=2554923)

RodbarFY 21.01.12 20:09

Hilfe bei Portierung
 
Hallo,

ich versuche gerade ActionS*****-Code zu Delphi zu portieren.
Der Code sieht wie folgt aus:

Code:

import com.hurlant.crypto.*;
import com.hurlant.crypto.hash.*;
import com.hurlant.crypto.symmetric.*;
import com.hurlant.util.*;
import flash.utils.*;

var str1:String ="blncjsdfj/jhj/mJdfldfs";
var str2:String ="kJd94kfjs93";

str3 = Hex.fromArray(new MD5().hash(Hex.toArray(Hex.fromString(String(str1 +  str2))))).toUpperCase();

str3 ergibt dann
Code:

3A06062CFD4C4391FCAB062A6F7E3BFA
Ich nutze Delphi XE2 und habe das Delphi Encryption Compendium (DEC) von [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] heruntergeladen.

Folgenden Code habe ich geschrieben:
Code:

str3 := THash_MD5.CalcBinary(TFormat_HEX.Encode(str1+str2), TFormat_Hex));
Doch leider erhalte ich dort nicht dasselbe Ergebnis. Ich erhalte dann immer
Code:

FB7D857208174506BD7D85AC5FF06421
als Ergebnis.

Kann jemand mir helfen, den Code richtig übersetzen.

Danke :)

RodbarFY 22.01.12 10:21

Hallo HababaX,
str1+str ergibt auf beiden Systemen
Code:

blncjsdfj/jhj/mJdfldfskJd94kfjs93
Ich habe noch einmal nachgeschaut, was für Typen in ActionS***** erstellt werden:

Hex.fromString = ByteArray
Hex.toArray = ByteArray
MD5().hash = ByteArray
Hex.fromArray = ByteArray

Hat es eventuell auch etwas mit der Zeichenkodierung zu tun? Ich meine gelesen zu haben, dass in ActionS***** in UTF-8 genutzt wird.

RodbarFY 22.01.12 12:30

Ich habe jetzt mal folgendes ausprobiert:

Code:

var
MyUTF8String: UTF8String;
  HashString: UTF8String;
begin
  myUTF8String := TFormat_HEX.Encode('blncjsdfj/jhj/mJdfldfskJd94kfjs93');
  HashString := TFormat_HEX.Encode(THash_MD5.CalcBuffer(MyUTF8String[1], Length(MyUTF8String)));
  Memo1.Lines.Add(HashString);
end;

Leider ohne Erfolg. Es kommt immer noch dasselbe Ergebnis heraus.
Meine Vermutung ist jetzt, dass es an der MD5-Klasse liegt...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.