如何通过公钥加密文件

时间:2018-03-02 20:42:59

标签: qt encryption

我需要加密和解密文件(在QT SDK中)。 通过私钥加密。 用公钥打字。

我在网上找不到任何可用的例子。你能用正确的方式推我吗?

1 个答案:

答案 0 :(得分:0)

我研究如何在QT中使用证书。 问题是,它取决于OpenSSL版本,windows / linux版本和32/64位。

对我来说,我使用Windows minGW / 32,MSVC2015 / 32/64版本。

第一个: 我在youtube上使用分步教程“使用OpenSSL的RSA和AES入门”(项目150-153)非常感谢Bryan。 https://www.youtube.com/watch?v=LATSg00HaXk

第二个: Bryen在linux上工作。在Windows上它有库名的问题。

  1. 您必须下载或编译OpenSSL库。 我使用https://slproweb.com/products/Win32OpenSSL.html下载 只有OpenSSL-Win32.v1.0.2n将我与教程结合使用。 我没有尝试自己的构建。非常感谢托马斯。

  2. 您必须在您的专业文件中添加标题和文件夹,如下所示:

  3. LIBS += -LD:/Develop/openssl/OpenSSL-Win32.1.0.2.n.full -llibeay32 
    LIBS += -LD:/Develop/openssl/OpenSSL-Win32.1.0.2.n.full -llibssl32 
    LIBS += -LD:/Develop/openssl/OpenSSL-Win32.1.0.2.n.full -lssleay32 
    INCLUDEPATH += D:/Develop/openssl/OpenSSL-Win32.1.0.2.n.full/include
    
    1. 正如您所注意到的,在Windows中,库的名称与在linux中的名称不同。 同时在linux中你必须添加libcrypto.a和libssl.a,windows中的名字完全不同(uáááá为什么???)libeay32,libssl32,ssleay32。
    2. 4。 如果您想使用64位版本,则必须为MSVC2015 / 17进行自己的构建并使用它。我现在不测试这一步。