Einzelnen Beitrag anzeigen

ToFaceTeKilla

Registriert seit: 17. Mai 2006
Ort: Leipzig
283 Beiträge
 
Delphi XE2 Professional
 
#4

AW: DEC 5.2 mit Vector deccipher Umbau von DOT net auf Delphi

  Alt 6. Mär 2013, 14:14
Hi,

ich stehe gerade vor einem ähnlichen Problem wie der OP:

Wir nutzen die gleiche C#-Funktion zum Verschlüsseln (copy-paste von irgendwo aus dem Netz, würde ich da jetzt mal behaupten).
Ich muss das jetzt auf der anderen Seite wieder mit Delphi entschlüsseln. Da habe ich mir das sagenumwobene DEC zur Hilfe genommen und es nach langem Fummeln und viel Lesen (div. Threads hier in der DP zum Thema DEC und Rijndael) auch geschafft, es so zu benutzen, dass ich etwas ver- und auch wieder entschlüsseln kann.
Wenn ich da jetzt allerdings die mit der C#-Funktion verschlüsselten Daten reinstopfe, bekomme ich nur Zeichen-Salat raus.
Hier mein Code:
Delphi-Quellcode:
function DecryptBase64Str(const CipherText_Base64: Binary; const Password: Binary; const Salt: Binary; const InitVector: string): string;
var
  rind: TCipher_Rijndael;
  pass: string;
begin
  rind:= TCipher_Rijndael.Create;
  rind.Mode:= cmCBCx;
  pass:= THash_SHA1.KDFx(Password,salt,rind.Context.KeySize);
  rind.Init(pass,Length(pass),InitVector,SizeOf(InitVector));
  Result:= rind.DecodeBinary(TFormat_MIME64.Decode(CipherText_Base64));
end;
Könnte es an der KDF liegen? PasswordDeriveBytes benutzt PBKDF1, was benutzt DEC?
Weiß einer, wie die Umkehrung des C#-Codes in Delphi aussieht?

Vielen Dank schonmal!
Billy Gerwitz
"Bei der Softwareentwicklung suchen wir nicht den richtigen Weg, sondern den am wenigsten falschen." - frei nach V. Hillmann
  Mit Zitat antworten Zitat