Qt笔记-AES加密

x33g5p2x  于2021-12-30 转载在 其他  
字(0.9k)|赞(0)|评价(0)|浏览(529)

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();
}

运行结果如下:

相关文章