2

我需要一个适用于 .NET 2.0 和 C++ 的标准、Microsoft 提供的加密库。你有什么建议?

我们发现 AES 仅在 .NET 3.5 中提供(并且在 C++ 中可用)

我们发现 Rijndael 在 .NET 2.0 中使用,但在标准 C++ 库中不可用。

如果我错了(很好的机会),你能指出我正确的方向吗?

最坏的情况,我想我可以使用 PInvoke 从 .NET 调用 Rijndael 算法,但我宁愿有一个本机解决方案。

4

4 回答 4

3

AES 和 Rijndael 本质上是相同的算法,但对块大小和密码模式有限制。因此,只要您可以忍受这些限制(不繁重),您就可以互换使用它们。

于 2008-12-01T17:25:02.563 回答
3

我们成功地做了类似的事情,希望对您有所帮助:

C++ 加密API

.NET TripleDes 提供程序

旁注

  • 我们避免像瘟疫一样的 CAPICOM,因为它带来的部署噩梦不值得麻烦。
  • .NET 端的字节顺序有时会发挥作用。例如,要使用在 C++ (CryptoAPI) 端生成的密钥,您需要先反转字节数组,然后再在 TripleDESCryptoServiceProvider 中使用它。

如果您想了解更多详细信息,请发表评论,我可以提供更多。快乐的加密货币!

于 2008-12-01T19:36:52.597 回答
0

3DES 可通过 Capicom 获得。有关信息,请参见此处

于 2008-12-01T17:16:36.340 回答
0

Windows 包含一个 C/C++ AES 加密库,作为AES Cryptographic Services Provider的一部分。它适合在本机 C/C++ 应用程序中使用。

于 2009-05-13T15:37:06.217 回答