Laden...

Verschlüsselung einer Datei mit C# die man mit VC++ (unmanaged) wieder lesen kann

Erstellt von tonka vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.643 Views
tonka Themenstarter:in
373 Beiträge seit 2006
vor 13 Jahren
Verschlüsselung einer Datei mit C# die man mit VC++ (unmanaged) wieder lesen kann

Hallo,

ich möchte einige Daten mit einem C#-Programm (WCF-Service) verschlüsselt in eine Datei schreiben. Am besten wäre eine XML-Datei. Soweit so gut, das hätte ich noch selbst zusammengebracht xD. Diese Datei müsste ich mit vc++, also unmanged ebenfalss wieder einlesen können.

Gibt es hier "Standardmittel" oder etwaiges?? Kenne mich leider in der Verschlüsselung nicht wirklich gut aus.

MfG
Tonka

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo tonka,

ich stecke da auch nicht im Detail drin, sondern versuche es einfach mal mit gesundem Menschenverstand. 😃

Ein wichtiger Anwendungsfall von Verschlüsselung ist ja die verschlüsselte Kommunikation. Dabei ist der Fall, dass der Absender ein anderes bzw. ein in einer anderen Programmiersprache geschriebenes Programm einsetzen will, ja nicht unwahrscheinlich. Es wäre also blöd, wenn eine in C# ausgeführte Verschlüsselung nicht auch mit anderen Programmiersprachen zu entschlüsseln wäre - natürlich nur wenn man den passenden Key kennt.

Mit anderen Worten, wenn du die normalen Verschlüsselungsverfahren (AES, DES, RSA usw. verwendest) sollte sich mit C# verschlüsselter Text mit unmanaged VC++ auslesen lassen, sofern das gewählte Verschlüsselungsverfahren überhaupt sowohl von .NET-Framework als auch MFC unterstützt wird.

Du musst dich natürlich auf beiden Seite einlesen, wie man überhaupt ver- bzw. entschlüsselt.

herbivore

4.939 Beiträge seit 2008
vor 13 Jahren

Hallo tonka,

für C++ gibt es u.a. die CryptoLib: http://www.cryptopp.com/

Du mußt dann also nur schauen, dann das entsprechende Verschlüsselungsverfahren aus dem System.Security.Cryptography für C# zu verwenden (und datürlich dann die gleichen Parameter wie z.B. Salt zu verwenden).

Edit: empfehlen würde ich AES (Rijndael) bzw. TwoFish (leider gibt es dieses standardmäßig nicht im .NET-Framework, aber unter http://www.codeproject.com/KB/recipes/twofish_csharp.aspx gibt es auch hier eine Implementation).