用于.NET 2.0 + C ++的加密算法/库

时间:2008-12-01 17:02:36

标签: c++ encryption .net-2.0 aes rijndael

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

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

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

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

最糟糕的情况是,我想我可以使用PInvoke从.NET调用Rijndael算法,但我宁愿有一个原生解决方案。

4 个答案:

答案 0 :(得分:3)

AES和Rijndael本质上是相同的算法,对块大小和密码模式有限制。因此,只要您能够使用restrictions(非繁琐),您就可以互换使用它们。

答案 1 :(得分:3)

我们成功地做了一件我希望可以帮到你的事情:

C ++ CryptoAPI

.NET TripleDes Provider

附注

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

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

答案 2 :(得分:0)

3DES可通过Capicom获得。有关信息,请参阅here

答案 3 :(得分:0)

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