Qt笔记-AES加密

Posted IT1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt笔记-AES加密相关的知识,希望对你有一定的参考价值。

Qt5.5.1好像没有,用了三方老外大神的。

https://github.com/bricke/Qt-AES

下载下来后,将对应的源码拷贝到项目中就可以了。

这里提供个事例代码:

#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笔记-AES加密的主要内容,如果未能解决你的问题,请参考以下文章

QT:AES-256-CBC 根据 PHP 代码在 C++ 中加密/解密

C++ 和 Qt 5 中的 AES 256 加密

错误的加密(QT c++ OpenSSL AES 256 CBC)

JavaScript笔记-前端AES加密

Java笔记-对称加密AES的使用

在Android中使用AES加密的最佳做法是什么?