Hallo Delphi-Praxis-Community,
suche nun schon seit mehreren Stunden nach einer Lösung zu einem (meiner Meinung nach simplen) Problem, konnte bisher aber leider nichts finden und wende mich nun verzweifelt an euch
Eigentliches Ziel ist folgendes:
Wir arbeiten mit einem C#-Webservice der derzeit die Daten unverschlüsselt an die aufrufende Stelle zurückgibt. Da der Webservice allerdings nicht für die Öffentlichkeit bestimmt ist wollen wir diesen mit AES Rjindael verschlüsseln.
Mein Kollege hat schon irgendwo aus dem Internet eine Verschlüsselung kopiert. Diese kann zwischen C# Webservice und C# Anwendung kommunizieren. Da er selbst aber keine genaue Ahnung hat was da passiert, dachte ich, bevor ich die Verschlüsselung am Webservice nun anpasse, stelle ich sicher, dass Delphi erstmal irgendwas ver- und entschlüsselt, dass einem Allgemein kompatiblen Standard entspricht. Delphi ist aus Erfahrung immer etwas weniger flexibel, daher mein Gedanke: "Wenn ich was finde, bei dem es mit Delphi klappt, klappt das dann höchstwahrscheinlich auch in C#"
Also habe ich mir einen Online-Encrypter gesucht (
https://www.tools4noobs.com/online_tools/encrypt/ )
mit der Prämisse: In Delphi einen verschlüsselten String zu generieren, den ich dort nachstellen kann.
Habe nun bereits mehrere verschiedene Lösungen und Libraries durchprobiert und nutze derzeit
DEC mit folgendem Code (vermutlich irgendwo von Stackoverflow kopiert)
Delphi-Quellcode:
function CCFDecrypt(const CCF: Binary; const Password: Binary): Binary;
begin
with TCipher_Rijndael.Create do
try
Mode := cmCFB8;
Init(Password, #0, $00);
result := DecodeBinary(CCF, TFormat_MIME64);
finally
Free;
end;
end;
function CCFEncrypt(const CCF: Binary; const Password: Binary): Binary;
begin
with TCipher_Rijndael.Create do
try
Mode := cmCFB8;
Init(Password, #0, $00);
result := EncodeBinary(CCF, TFormat_MIME64);
finally
Free;
end;
end;
dazu diesen Aufruf:
Delphi-Quellcode:
var
Password, Data: Binary;
begin
Password := 'asd';
Data := CCFEncrypt('asd', Password);
Data := CCFDecrypt(Data, Password);
Der verschlüsselte Text "asd" mit dem Password "asd" ergibt den String "htz5"
nun schaffe ich es aber nicht, auch nicht mit anderen Modes in Delphi, einen String zusammenzubauen den ich in dem Onlinetool genauso generieren kann.
Ich weiß nicht was ich falsch mache aber habe das Gefühl gehörig auf dem Schlauch zu stehen.
Grüße