Wie blowfish in C ++ als externen DLL in C # verwenden,
Frage
Es scheint, gibt es keine blowfish in C #, die die gleiche wie diese ein tun würde .So ich beschlossen zu verwenden, um es als externes und wenn es wieder nicht funktioniert, dann die ganze blowfish in C # übersetzen. Aber zuerst werde ich versuchen, als externes zu verwenden.
Könnten Sie einen Blick auf die C ++ blowfish und mir sagen, ob ich die Funktionsparameter ändern müssen ( einige von ihnen sind LPBYTE, die nicht in C # enthält).
Auch würde ich dankbar, wenn Sie mir sagen, wie sie als externe DLL verwenden (ich es als DLL kompiliert haben bereits), aber die Funktionsparameter in C ++ sind frustrierend mich.
Edit: Ich brauche nur initialisieren, und Decode Encode zu nennen.
Vielen Dank im Voraus!
Lösung
Ich habe ein ähnliches Problem auf diese auf einem früheren Projekt hatte. Nachdem auf dem C ++ Code sah, nutzen das EZB wie Sie in Ihrer früheren Post vermutet. Ich glaube, ich sehe den Grund, warum Sie unterschiedliche Ergebnisse mit Blowfish.NET (Arkain Vorschlag) zu bekommen. Der C ++ Code wirft die Eingänge in zwei DWORDs wie es chiffriert. Ich glaube, Blowfish.NET wird durch die Erhaltung der Byte-Reihenfolge in den DWORDs das Richtige tut es intern chiffrieren verwendet.
Zum Beispiel: In der C ++ Code, 0102030405060708 die Bytes 0x04030201 und 0x08070605 werden. Die .NET-Implementierung wird immer 0x01020304 und 0x05060708.