从C#转换为C ++

时间:2012-02-06 16:44:07

标签: c# c++ .net cryptography

我有一个使用rijndaelmanaged算法加密XML数据的应用程序来加密数据。我的任务是将C#代码转换为C ++,以便应用程序不依赖于.net框架。请告诉我任何有rijndaelmanaged算法的库和其他密码技术如passwordDeriveByte等。

3 个答案:

答案 0 :(得分:5)

这是一个公共域Rijndael算法(根据文档)也将编译为C ++:Rijndael C/C++ Algorithm。显然,如果它为两种语言编译,它可能不符合C ++最佳实践,但它会起作用。

这是另一个用C ++编写的,源自Java实现的代码:CodeProject C++ Rijndael

了解RijndaelManaged是.NET Framework独有的;按其定义为"托管"算法它被编写并编译成MSIL而不是"包装器"对于非托管代码。还有其他Rijndael实现是"包装器",并且这些实现可以被访问"本地"只需使用正在"包装的Windows CSP,例如从Win2000开始的Windows桌面和服务器版本附带的Microsoft AES Cryptographic Service Provider

答案 1 :(得分:3)

您可能需要查看Crypto++这是一个可移植的C ++加密库,它实现了AES(Rijndael)

答案 2 :(得分:2)

该站点包含Rijndael加密算法的实现:

http://www.efgh.com/software/rijndael.htm

此外,这是与该主题相关的CodeProject文章:

http://www.codeproject.com/Articles/1380/A-C-Implementation-of-the-Rijndael-Encryption-Decr