Ich habe hier folgendes Problem:
Ich habe einen mit dem DES Algorithmus verschlüsselten Text vorliegen.
Der lässt sich mit dem
DEC von Delphi entschlüsseln.
In C# sind es ungültige Daten.
Dann habe ich versucht den Text in C# zu verschlüsseln.
Dabei wird nach dem eigentlichen verschlüsselten Passwort noch ein 2. Block angehängt.
In Delphi:
Code:
'123456' -DES> 6C D8 5E D9 85 B9 80 2F
In C#
Code:
"123456" -DES> 6C D8 5E D9 85 B9 80 2F
DB F0 9E 7C 06 3A 28 CD
Das Problem dabei: C# braucht den 2. Block zum Entschlüsseln
Kennt jamand einen Weg wie man den 2.Block umgehen kann, bzw den Block berechnen kann
Das ist der Code in C# zum entschlüsseln (Quelle:
http://www.codeproject.com/KB/cs/NET...Decrypt.aspx):
Code:
byte[] iCipherIV = getCipherInitKey();
byte[] iCipherPassword = getCipherPassword(); //<=IV und PW holen
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
cryptoProvider.Mode = CipherMode.CBC;
MemoryStream memoryStream = new MemoryStream(Convert.FromBase64String(cryptedString));
CryptoStream cryptoStream = new CryptoStream(memoryStream,
cryptoProvider.CreateDecryptor(iCipherPassword, iCipherIV), CryptoStreamMode.Read);
StreamReader reader = new StreamReader(cryptoStream);
return reader.ReadToEnd();
Ich hoffe mir kann jemand bei dem Problem helfen.