我的C++程序使用的是标准的河豚。
我的C#程序是使用来自这里的Blowfish加密算法。
两个应用程序(TCP客户端)都做了相同的事情:接收数据包,对其进行加密,然后将其发回。如果服务器将数据包识别为正常--它会发送另一个数据包,否则会关闭套接字。我跟踪了C++和C#中的所有函数,除了加密之外,一切都是一样的。
在C++文件中,我只有一个加密。然而,在C#河豚中我有
我不知道哪个是我的C++项目中的一个,所以我随机选择了BlowfishECB。但是它不起作用,服务器(我没有访问它的权限)无法识别数据包是加密的。
我的问题是:是否有一个标准的C#黄鱼,或者如果这是唯一的,我如何解决这个问题?
C++河豚代码在这里可以看到。
发布于 2009-03-29 09:18:57
不,C#没有标准的河豚。不管你叫什么,它都会用。(编辑:我想我误解了。如果你想要一个符合C#标准的河豚,我建议你跳城堡隐形眼镜。它是Java的一个端口,包含了大多数文档化的RFC标准。看看单元测试,看看如何使用这些类的例子。每当我最后使用它时,文档都是缺乏的,但是单元测试是很好的例子,说明了事情是如何结合在一起的。)
您想要问的问题是,您的C++应用程序使用的是哪种风味的龙虾。您在C++应用程序中使用什么库来进行加密?一旦您知道了这一点,那么您就可以在C#应用程序中做出正确的选择。
我个人遇到的CBC最多。“简单”也许值得一试。
您还必须处理一些事情,如确保您的初始化向量匹配取决于您使用哪一个。
https://stackoverflow.com/questions/694331
复制相似问题