QT C++ AES字符串加密实现

使用方法:在.h中引入类库。然后在cpp中直接引入使用即可

类库的下载地址
https://download.csdn.net/download/u012372365/88478671

具体代码:

cpp 复制代码
#include <QCoreApplication>
#include <QTest>
#ifdef __cplusplus
#include "unit_test/aestest.h"
#include "qaesencryption.h"
#include <QCoreApplication>
#include <QCryptographicHash>
#include <QVector>
#include <QDebug>
#include <QByteArray>
#include <qbytearray.h>
#endif

QList<QString> fileList;
QList<QString> saveFileList;

//设置密钥  /替换-的目的防止字符串出现转译的情况发生
QString key("dasdlk3214k21ksd");
QString strToSeaBody(QString body){
    QString string =body;
    QAESEncryption encryption(QAESEncryption::AES_128, QAESEncryption::ECB, QAESEncryption::PKCS7);
    QByteArray enBA = encryption.encode(string.toUtf8(), key.toUtf8());
    QByteArray enBABase64 = enBA.toBase64();
    QString jieguo=enBABase64.replace("/","-");
    return jieguo;
}
QString seaToStrBody(QString str){
    str.replace("-","/").replace("\n","");
    QByteArray ba = str.toUtf8(); //方法二
    QByteArray  enBA = QByteArray::fromBase64(str.toUtf8());
    QAESEncryption encryption(QAESEncryption::AES_128, QAESEncryption::ECB, QAESEncryption::PKCS7);
    QByteArray deBA = encryption.decode(enBA, key.toUtf8());
    return QString::fromLocal8Bit( QAESEncryption::RemovePadding(deBA, QAESEncryption::PKCS7));
}
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QString str("sunwukong");
    QString jiami=strToSeaBody(str);
    QString jiemi=seaToStrBody(jiami);
    qDebug()<<"jiami=="<<jiami;
    qDebug()<<"jiemi=="<<jiemi;
}
相关推荐
Bony-3 分钟前
Go语言中值接收者和指针接收者的区别?
开发语言·后端·golang
.普通人16 分钟前
洛谷--前缀统计c语言
c语言·开发语言·算法
倔强的小石头_16 分钟前
C 语言: scanf 函数详解
c语言·开发语言
Cikiss16 分钟前
微服务实战——购物车模块实战
java·开发语言·后端·spring·微服务·springcloud
程序猿进阶17 分钟前
大循环引起CPU负载过高
java·开发语言·后端·性能优化·并发编程·架构设计·问题排查
我是唐青枫31 分钟前
C# delegate 委托使用教程
开发语言·c#·.net
李老头探索43 分钟前
深入解析 JVM vs JDK vs JRE:三者区别与联系详解
java·开发语言·jvm
懒大王爱吃狼1 小时前
python基于diagrams库绘制系统架构图
开发语言·python·系统架构·自动化·python基础·python教程
JavaPub-rodert1 小时前
项目48:简易语言学习助手【源代码】 --- 《跟着小王学Python·新手》
服务器·开发语言·python·学习·microsoft
吃不饱的得可可1 小时前
【Qt】主窗口
开发语言·qt