当前位置: 首页 > news >正文

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

使用方法:在.h中引入类库。然后在cpp中直接引入使用即可
类库的下载地址
https://download.csdn.net/download/u012372365/88478671
具体代码:
 

#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>
#endifQList<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;
}

相关文章:

  • 设计模式中继承和组合的总结
  • MyString字符串类
  • TOGAF(企业架构)
  • VSCode snippets
  • Android11系统桌面隐藏指定APP图标
  • nginx请求时找路径问题
  • NetSuite数据备份办法
  • Day 11 python学习笔记
  • Linux系统下配置王爽汇编语言环境
  • SQL注入原理及思路(mysql)
  • 【ChatGPT系列】ChatGPT:创新工具还是失业威胁?
  • 导入Embassy库进行爬虫
  • 上海高考英语科目命题趋势和备考建议,附1990-2023真题解析
  • 网络安全—小白自学
  • 磨人的Ts
  • 【剑指offer】让抽象问题具体化
  • create-react-app做的留言板
  • JavaScript类型识别
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • yii2中session跨域名的问题
  • 番外篇1:在Windows环境下安装JDK
  • 爬虫模拟登陆 SegmentFault
  • 深入 Nginx 之配置篇
  • 优秀架构师必须掌握的架构思维
  • hi-nginx-1.3.4编译安装
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​渐进式Web应用PWA的未来
  • # Maven错误Error executing Maven
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)php新闻发布平台 毕业设计 141646
  • (论文阅读40-45)图像描述1
  • (十六)Flask之蓝图
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)memcache、redis缓存
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET CLR基本术语
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .net 受管制代码
  • .Net的DataSet直接与SQL2005交互
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET中 MVC 工厂模式浅析
  • .NET中的Exception处理(C#)
  • ::什么意思
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [ JavaScript ] JSON方法
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [@Controller]4 详解@ModelAttribute
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured