从C#到C++的转换

本文关键字:转换 C++ | 更新日期: 2023-09-27 18:22:36

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

从C#到C++的转换

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

这是另一个用C++编写的,源于Java实现:CodeProjectC++Rijndael

了解RijndaelManaged是.NET Framework独有的;根据其"托管"算法的定义,它被写入并编译到MSIL中,而不是非托管代码的"包装器"。还有其他Rijndael实现是"包装器",这些实现可以通过简单地使用正在"包装"的Windows CSP"本机"访问,例如从Win2000开始随Windows桌面和服务器版本一起提供的Microsoft AES加密服务提供程序。

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

此网站包含Rijndael加密算法的实现:

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

此外,这里还有一篇与主题相关的CodeProject文章:

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