0

It seems there's no blowfish in C# that would do the same as this one.So I decided to use it as an external and if it doesnt work again then translate the whole blowfish in C#. But first I'll try to use as an external.

Could you take a look at the C++ blowfish and tell me if I have to change the function parameters(some of them are LPBYTE,which is not included in C#).

Also,I'd be thankful if you tell me how to use them as an external dll(I have it compiled as a dll already),but the function parameters in C++ are frustrating me.

Edit: I need to call only Initialize,Encode and Decode.

Thanks in advance!

4

1 に答える 1

2

以前のプロジェクトでこれと同様の問題が発生しました。C ++コードを見て、以前の投稿で疑ったようにECBを使用しています。Blowfish.NET(Arkainの提案)を使用して異なる結果が得られる理由がわかります。C ++コードは、暗号化するときに入力を2つのDWORDにキャストします。Blowfish.NETは、暗号化に内部的に使用するDWORDのバイト順序を維持することにより、正しいことを実行すると思います。

例:C ++コードでは、バイト0102030405060708は0x04030201および0x08070605になります。.NETの実装は0x01020304および0x05060708になります。

于 2009-03-29T13:01:39.807 に答える