Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用于C+的RSA加密库+;_C++_Winapi_Encryption_Rsa - Fatal编程技术网

C++ 用于C+的RSA加密库+;

C++ 用于C+的RSA加密库+;,c++,winapi,encryption,rsa,C++,Winapi,Encryption,Rsa,我正在开发一个Win32应用程序,我想使用RSA加密库您推荐哪个库?我认为OpenSSL是一个不错的选择。保养得很好,价格合适:) 如果您使用的是Win32,为什么不直接使用内置的Win32 crypto API呢 下面是一个小例子,它在实践中是如何工作的: < P>作为一种选择,考虑LibTomCrypt() < P>我使用以下库: 它是公共领域的、紧凑的、自包含的,并且工作得很好。-NIST FIPS验证了MSVC 6、7.1和8的dll,位于正常的源代码自建包之上。另一种选择是。这是

我正在开发一个Win32应用程序,我想使用RSA加密库您推荐哪个库?

我认为OpenSSL是一个不错的选择。保养得很好,价格合适:)


如果您使用的是Win32,为什么不直接使用内置的Win32 crypto API呢

下面是一个小例子,它在实践中是如何工作的:


< P>作为一种选择,考虑LibTomCrypt()

< P>我使用以下库:



它是公共领域的、紧凑的、自包含的,并且工作得很好。

-NIST FIPS验证了MSVC 6、7.1和8的dll,位于正常的源代码自建包之上。

另一种选择是。这是一款非常成熟的产品,在许多平台上都有汇编程序实现

我过去使用过OpenSSL,发现它是一个用于加密API(包括AES、RSA、3DES)的伟大库。

也许是一个替代方案?它是一个支持BSA许可证的C++库,支持RSA算法。

< P>我推荐MICACL库,但价格很高。

请记住OpenSSL不是GPL兼容的。它是用C编写的,并且在C++程序中是可以立即使用的。@列昂,可以使用GPSL应用程序的OpenSSL,它是一个明确的常见问题条目。布鲁诺:在你链接的常见问题中:“在其他系统[除Linux/BSD外]上,情况不太清楚。一些GPL软件版权所有者声称,如果你使用通常不包括OpenSSL的OpenSSL,你侵犯了他们的权利。”。Wikipedia声明OpenSSL不兼容。FAQ条目非常清楚,它在默认情况下提供OpenSSL的系统上绝对兼容,就像GPL程序可以链接到AIX上的专有libc一样。它可能在其他系统上更为灰暗,在达到法院判决之前,没有办法确定。它似乎不是C++的一个。Win API是C,它在C++程序中是立即可用的。如果你喜欢C++接口,那么在它周围写一个包装器。无论如何,这可能是一个好主意,以防您以后想要更改API。因为鉴于没有人再信任Microsoft加密文件,这是非常不安全的。真的。答案是在斯诺登/NSA加密崩溃之前给出的。它是用C编写的,并且在C++程序中是可以立即使用的。dead@NicolasHolthaus:谢谢,我已经更新了一个工作链接。对我来说毫无疑问,NIST批准印章意义重大。加密不是你想搞乱的事情之一——你必须能够相信它的实现是正确的&没有安全漏洞。这个库不使用填充。这是一个重大的遗漏。没错,我确实通过添加这一点改进了它。问题是,我丢失了代码:(.虽然添加起来并不太困难…它使用16位整数作为基本元素。在现代硬件上可能相当慢。而且,如果我理解正确,它使用pow/mod操作的简单实现。存在更快的算法。。。