用于.NET 2.0+;C++; 我需要一个标准的、微软交付的、用于.NET 2和C++的加密库。你有什么建议

用于.NET 2.0+;C++; 我需要一个标准的、微软交付的、用于.NET 2和C++的加密库。你有什么建议,c++,encryption,.net-2.0,aes,rijndael,C++,Encryption,.net 2.0,Aes,Rijndael,我们发现AES仅在.NET3.5中提供(并在C++中提供) 我们发现RijnDaele在.NET 2中使用,但在标准C++库中不可用。 如果我错了(很有可能),你能给我指出正确的方向吗 在最坏的情况下,我想我可以使用PInvoke从.NET调用Rijndael算法,但我更愿意使用本机解决方案。3DES可通过Capicom获得。有关信息,请参阅。AES和Rijndael基本上是相同的算法,但对块大小和密码模式有限制。所以,只要您能接受(并不繁重),您就可以互换使用它们。我们成功地做了一件类似的事情

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

<>我们发现RijnDaele在.NET 2中使用,但在标准C++库中不可用。 如果我错了(很有可能),你能给我指出正确的方向吗


在最坏的情况下,我想我可以使用PInvoke从.NET调用Rijndael算法,但我更愿意使用本机解决方案。

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

AES和Rijndael基本上是相同的算法,但对块大小和密码模式有限制。所以,只要您能接受(并不繁重),您就可以互换使用它们。

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

C++密码
  • 是纯Win32(c/c++),是所有Microsoft操作系统的原生版本
  • 使用(
    MS\u增强型\u PROV
  • 使用(
    CALG_3DES
    )算法
.NET三元组提供程序
  • 在.NET端使用
旁注
  • 我们避免CAPICOM像瘟疫一样,因为随之而来的部署噩梦不值得这么麻烦
  • NET端的字节顺序有时会起作用。例如,为了在C++(CryptoAPI)端生成一个密钥,在使用TrPrEdStCytoServCeValp提供者中之前需要反转字节数组。

如果你想了解更多细节,请留下评论,我可以提供更多。快乐加密

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

多谢各位。我会调查这个。。。当然,如果您能提供任何其他信息,我都会很高兴。别忘了AES加密提供程序,它也是Windows的一部分。它提供了AES算法,这正是OP想要的。没错,但值得注意的是,Windows 2000/NT不支持AES算法。