行业知识
10、Qt:对数据进行加密、解密
2026-11-11 05:42:43
来源:互联网转载
一、说明
在Qt项目中简单的对数据进行加密解密,有如下两种方式 1、QCryptographicHash Qt提供了用于加密的类QCryptographicHash,但是QCryptographicHash类只有加密功能,没有解密功能 2、Qt-AES 使用第三方AES库,对数据进行加密解密二、使用QCryptographicHash
新建一个Qt项目,基类选择QMainWindow, 在界面上拖拽如下两个控件,并进行布局 更改.h代码#ifndef MAINWINDOW_H#define MAINWINDOW_H#include namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow();private slots: void on_pushButton_clicked();private: Ui::MainWindow *ui;};#endif // MAINWINDOW_H 更改.cpp代码 #include "mainwindow.h"#include "ui_mainwindow.h"#include #include MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){ ui->setupUi(this);}MainWindow::~MainWindow(){ delete ui;}void MainWindow::on_pushButton_clicked(){ QByteArray array; array.append(ui->lineEdit->text()); QCryptographicHash hash(QCryptographicHash::Md5); //Md5加密 hash.addData(array); //添加数据 QByteArray retArray = hash.result(); //加密后的数据 qDebug() setupUi(this); QString data = "qwer123456"; //要加密的数据 QString key = "9876543"; //密钥 QString encoded = encodedText(data, key); //加密 QString decoded = decodedText(encoded, key); //解密· qDebug()