qt开发app实现AES加密

2023年5月5日 19:58 ry 1132

最近在捣鼓c++的qt的app爬虫方向了,有个参数通过了AES加密,用python写的爬虫很容易跑通,接下来使用QT来实现加密过程,通过资料查询,发现IT1995 的博主写了相关的博客,他们使用第三方写好的包来进行加密,很方便,我们可以直接拿来用,不用重复造轮子,github地址为https://github.com/bricke/Qt-AES  。直接下载压缩包即可。解压后如图所示那么如何用到我们的项目中去呢,我们先新建一个项目,如图所示一般都是默认选项的,接下来创建项目名,这里为AEStest,点击下一步,如图所示选择widget即可,然后点击完成即可,创建项目的目录如下所示然后选中项目,右键添加文件--->添加新文件,然后选择如下点击choose,类名选择QAESEncryption,如下所示,接着目录就多了qaesencryption.cpp,qaesencryption.h了,然后将你下载的文件里面的aesni文件夹拷贝到你项目的路径下如下所示,然后同样右键项目名,添加存在的文件夹,选中你拷贝过来的aesni文件夹即可。然后将你下载文件下的qaesencryption.cpp,qaesencryption.h中的代码全部复制到你项目中生成的qaesencryption.cpp和qaesencryption.h文件中去即可,接着在widget.cpp中添加代码如下所示

#include "widget.h"
#include "ui_widget.h"
#include<qaesencryption.h>
#include<QDebug>
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    QString key = "0123456789012345";
    QString iv = "0102030405060708";
        qDebug() << "key.size : " << key.toUtf8().size();

        QString string = "Hello World";

        QAESEncryption encryption(QAESEncryption::AES_128, QAESEncryption::CBC, QAESEncryption::PKCS7);
        QByteArray enBA = encryption.encode(string.toUtf8(), key.toUtf8(),iv.toUtf8());
        QByteArray enBABase64 = enBA.toBase64();
        qDebug()<<enBABase64;


}

Widget::~Widget()
{
    delete ui;
}

这里将字符string进行AES加密,我们打印下结果,如下所示为了验证结果的正确性,我们用fiddler工具来进行反向解密,如下所示完美实现!!!!

如果上述代码帮助您很多,可以打赏下以减少服务器的开支吗,万分感谢!

欢迎发表评论~

点击此处登录后即可评论


评论列表
2023年11月17日 14:36 ry: 回复
本人承接各种软件定制,数据采集,接口搭建,网站开发,环境配置的杂活,需要的可以联系我 qq:1449917271 微信:liuyoudyping


赣ICP备2021001574号-1

赣公网安备 36092402000079号