加密算法/图书馆。网2.0+C++
-
11-07-2019 - |
题
我需要一个标准,微软交付,加图书馆工作的两个。网2.0and C++.你有什么建议吗?
我们发现,AES仅提供。净3.5(和可用C++)
我们发现,Rijndael用。网2.0但不可用的标准C++库。
如果我是错误的(非常好的机会),你可以点我在正确的方向?
最坏的情况下,我想我可以叫Rijndael算法。净使用PInvoke但我宁愿要一个本地的解决方案。
解决方案
我们成功地做了类似的事情,希望对您有所帮助:
C++ 加密 API
- 加密API 是纯 Win32 (c/c++),是所有 Microsoft 操作系统的本机。
- 使用 增强型加密提供程序 (
MS_ENHANCED_PROV
) - 使用 三重 DES (
CALG_3DES
) 算法
.NET TripleDes 提供程序
- 使用 三重DESCryptoServiceProvider 在.NET 方面。
旁注
- 我们 避开 CAPICOM 就像瘟疫一样,随之而来的部署噩梦也不值得这么麻烦。
- .NET 端的字节顺序有时会发挥作用。例如,要使用在 C++ (CryptoAPI) 端生成的密钥,您需要先反转字节数组,然后再在 TripleDESCryptoServiceProvider 中使用它。
如果您想了解更多详细信息,请发表评论,我可以提供更多信息。加密货币快乐!
其他提示
AES和Rijndael算法在本质上是相同的算法对块大小和加密模式的限制。所以只要你可以用的限制(其不是繁重)可以互换使用。
3DES可通过CAPICOM。请参见这里信息。
Windows包括C/C++AES加密库,作的一部分 AES加密服务提供商.它是适用于从内地C/C++的应用。
不隶属于 StackOverflow