如何在C ++中将blowfish用作C#中的外部dll

时间:2009-03-29 10:53:27

标签: c# external blowfish

似乎C#中没有与[{3}}相同的河豚。所以我决定将它作为外部使用,如果它再次无效,那么在C#中翻译整个河豚。 但首先我会尝试将其用作外部。

你能看一下this one并告诉我是否需要更改功能参数(其中一些是LPBYTE,不包含在C#中)。

另外,如果你告诉我如何将它们用作外部dll(我已将其编译为dll),我会感激不尽,但C ++中的函数参数令我感到沮丧。

修改 我只需要调用Initialize,Encode和Decode。

提前致谢!

1 个答案:

答案 0 :(得分:2)

我在以前的项目中遇到过类似的问题。 看过C ++代码之后,就像你在上一篇文章中所怀疑的那样使用了ECB。 我想我看到你使用Blowfish.NET获得不同结果的原因(Arkain的建议)。 C ++代码在输入时将输入转换为两个DWORD。我相信Blowfish.NET将通过保留内部用于加密的DWORD中的字节顺序来做正确的事。

例如: 在C ++代码中,字节0102030405060708变为0x04030201和0x08070605。 .NET实现将变为0x01020304和0x05060708。