C++密码库crypto++的使用和安装

crypto++的安装

crypto++的下载地址
选择下图中的release版本,下载好之后直接解压。
得到下面这张图的文件夹,里面有很多文件。
在这里插入图片描述

crypto++的使用

我使用的是QT,它不能像VS去将.sln文件生成 .lib文件。
有两种解决办法

1. 将整个crypto++文件夹复制到项目目录中
像下图这样,但是整个文件夹大小是20多MB,而且每次项目都要重新复制非常麻烦。这在大部分编辑器都可以使用。在这里插入图片描述 2.将文件夹文件生成.lib文件
这步要利用到安装了MinGW的QT,或者直接使用GCC编译器应该也是可以的。
一定要先删除D:\cryptopp\GNUmakefile文件
首先打开QT中MinGW命令行,然后输入下列命令,文件夹中会出现.pro文件,用QT打开这个文件。

cd cryptopp所在的文件夹路径
qmake -project

在.pro文件中将TEMPLATE = app改为TEMPLATE = lib。

TEMPLATE = lib

再加上以下代码

QMAKE_CXXFLAGS += "-msse4.2"
QMAKE_CXXFLAGS += "-mavx"
QMAKE_CXXFLAGS += "-mavx2"
QMAKE_CXXFLAGS += "-mpclmul"
QMAKE_CXXFLAGS += "-maes"
QMAKE_CXXFLAGS += "-msha"

再将与TestPrograms有关的文件注释
在这里插入图片描述
之后在命令行中输入以下命令,等待编译结束。

mingw32-make all

在这里插入图片描述
把两个生成的文件拷贝到对应文件夹中。
在release中找到cryptopp.dll将其拷贝到"QT dir"\Tools\mingw730_32\bin
在release中找到libcryptopp.a将其拷贝到"QT dir"\Tools\mingw730_32\bin
在release中找到cryptopp.dll将其拷贝到"QT dir"\Tools\mingw730_64\bin
在release中找到libcryptopp.a将其拷贝到"QT dir"\Tools\mingw730_64\bin
这里“QT dir”指QT的安装路径。如果同时安装了32位和64位的mingw,则要把文件都拷贝到以下文件夹中对应目录。
在这里插入图片描述
在"QT dir"\5.14.2\include下创建一个名字为cryptopp的文件夹,从D:\cryptopp把所有头文件(.h)拷贝到 “QT dir”\include\cryptopp。

最后测试一下,创建一个命令行项目,在.pro文件中加上下面的代码。

LIBS += -lcryptopp
#include<iostream>
#include"cryptopp/aes.h"
using namespace std;
using namespace CryptoPP;
int main(int argc, char *argv[])
{
    cout<<"AES block size is "<<AES::BLOCKSIZE;
    return 0;
}

在这里插入图片描述

在CLion中使用crypto++

前提是完成了上面的步骤并且生成了lib文件和dll文件。

  • 同理将cryptopp文件夹复制到D:\CLion 2022.2.2\bin\mingw\include下、
  • 之后将libcryptopp.a文件复制到D:\CLion 2022.2.2\bin\mingw\lib下
  • 再将cryptopp.dll文件复制到D:\CLion 2022.2.2\bin\mingw\bin下
  • 最后在CLion项目中的CMakeLists.txt添加以下代码
    "项目"代表创建的项目名称。
target_link_libraries("项目" libcryptopp.a)
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值