Qt 之 Aes CBC 加密 (有实例)
https://blog.csdn.net/qq78442761/article/details/121925466
#include <QCoreApplication>
#include <QCryptographicHash>
#include <QVector>
#include <QDebug>
#include "QAesEncryption.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString key = "0123456789012345";
qDebug() << "key.size : " << key.toUtf8().size();
QString string = "Hello World";
QAESEncryption encryption(QAESEncryption::AES_128, QAESEncryption::ECB, QAESEncryption::PKCS7);
QByteArray enBA = encryption.encode(string.toUtf8(), key.toUtf8());
QByteArray enBABase64 = enBA.toBase64();
qDebug() << "string : " << string;
qDebug() << "enBA : " << enBABase64;
enBA = QByteArray::fromBase64(enBABase64);
QByteArray deBA = encryption.decode(enBA, key.toUtf8());
//移除填充
qDebug() << "deBA : " << QAESEncryption::RemovePadding(deBA, QAESEncryption::PKCS7);
return a.exec();
}Qt MD5 和AES 加密 (有github源码)
一 、MD5 加密
#include <QCryptographicHash>
// MD5 加密
QString Dialog_login::MD5_encryption(const QString &data)
{
QCryptographicHash md5(QCryptographicHash::Md5); //使用MD5加密
md5.addData(data.toUtf8(),data.size()); // 添加数据
QByteArray bArry = md5.result(); //获取MD5加密后的密码
QString md5_date;
md5_data.append(bArry.toHex());
return md5_data;
}二、AES 加密和解密
1、下载库:https://github.com/bricke/Qt-AES
下载后需要下面5个文件,把这些文件复制出来放到一个文件夹下:

2、 qt 工程添加这些文件

3. 编写加密解密代码
#include "aesni/qaesencryption.h"
// 加密
QString Dialog_login::AES_encryption(const QString &data, const QString &key)
{
QAESEncryption encryption(QAESEncryption::AES_128, QAESEncryption::ECB, QAESEncryption::PKCS7);
QByteArray enBA = encryption.encode(data.toUtf8(), key.toUtf8());
return QString::fromLatin1(enBA.toBase64());
}
// 解密
QString Dialog_login::AES_decryption(const QString &data, const QString &key)
{
QAESEncryption encryption(QAESEncryption::AES_128, QAESEncryption::ECB, QAESEncryption::PKCS7);
QByteArray enBA = QByteArray::fromBase64(data.toUtf8());
QByteArray deBA = encryption.decode(enBA, key.toUtf8());
return QString::fromLatin1(QAESEncryption::RemovePadding(deBA, QAESEncryption::PKCS7));
}————————————————
版权声明:本文为CSDN博主「绿叶白墙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chen1231985111/article/details/125748534