Frage

Mein C ++ Programm wird mit einem Standard-Blowfish.

Mein C # Programm wird mit dem Blowfish-Verschlüsselungsalgorithmus von hier .

Beiden Anwendungen (TCP Clients) das gleiche tun: ein Paket erhalten, verschlüsselt und es dann zurückzuschicken. Wenn der Server das Paket als normal erkennt - sendet er ein weiteres Paket, sonst ist es die Socket geschlossen. Ich habe alle Funktionen in C ++ und C # und alles ist gleich, außer der Verschlüsselung.

In der C ++ Datei ich nur eine Verschlüsselung haben. Doch in der C # Blowfish habe ich

  • BlowfishCBC
  • BlowfishCFB
  • BlowfishECB
  • BlowfishSimple

Ich wusste nicht, welches das in meinem C ++ Projekt, so dass ich BlowfishECB Zufall ausgewählt. Aber es funktioniert nicht, der Server (Ich habe keinen Zugriff auf sie) nicht das Paket erkennen als verschlüsselt.

Meine Frage: Gibt es einen Standard Blowfish für C # oder, wenn dies die einzige ist, wie kann ich dieses Problem lösen? EDIT:

Die C ++ blowfish Code hier zu sehen ist .

War es hilfreich?

Lösung

Nein, es gibt keine Standard-blowfish für C #. Es wird verwenden je nachdem, was Sie sagen es. (Edit: Ich glaube, ich falsch verstanden Wenn Sie ein standardkonformes blowfish für C # wollen, würde ich Hüpfburg Crypto empfehlen Es ist ein Port von Java und enthält die meisten dokumentierten RFC-Standards Werfen Sie einen Blick auf die Unit-Tests für Beispiele, wie... verwenden sie die Klassen. Jedes Mal, wenn ich verwende es die Dokumentation dauern fehlte, aber die Unit-Tests sind ziemlich gute Beispiele dafür, wie die Dinge zusammenpassen.)

Die Frage, die Sie fragen wollen, ist der Geschmack von Blowfish Ihre C ++ Anwendung verwendet. Welche Bibliothek verwenden Sie in der Anwendung ++ C Ihre Verschlüsselung zu tun? Sobald Sie das kennen, dann können Sie die richtige Wahl in Ihrer C # .NET-Anwendung machen.

Ich persönlich CBC Begegnung am meisten. „Simple“ wäre wahrscheinlich ein Versuch wert zu.

Sie werden auch mit den Dingen zu tun haben, wie sicher, dass Ihre Initialisierungsvektor zusammenpasst je nachdem, welchen Sie verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top