Qt AES

一、

1.第三方库

https://gitcode.net/mirrors/bricke/Qt-AES?utm_source=csdn_github_accelerator

2.考本相关文件

 3.代码文件添加到项目里

 4.使用注意

 参数level(AES 128、 AES 92、AES 256)与所使用的key的长度对应;例如key的长度为16byte,就要选择AES 128,因为16*8=128bit:其他同理。

 

二、

#include "qaesencryption.h"

void MainWindow::on_pushButton_clicked()
{
    //key长度为16字节,就要选择AES_128,因为16*8=128,key长度必须为16字节
    QString key = "0123456789012345";

    qDebug() << "key.size : " << key.toUtf8().size();

    QString str = "Hello World";

    QAESEncryption encryption(QAESEncryption::AES_128, QAESEncryption::ECB, QAESEncryption::PKCS7);
    QByteArray enBA = encryption.encode(str.toUtf8(), key.toUtf8());
    //QByteArray enBABase64 = enBA.toBase64();
    QString encrypt_str = enBA.toBase64();
    qDebug()<<"加密:"<< encrypt_str;

    enBA = QByteArray::fromBase64(encrypt_str.toUtf8());
    QByteArray deBA = encryption.decode(enBA,key.toUtf8());
    QString  decrypt_str = QAESEncryption::RemovePadding(deBA,QAESEncryption::PKCS7);
    qDebug()<<"解密:"<<decrypt_str;

    if(str == decrypt_str)
    {
       qDebug()<<"加密解密成功" ;
    }
    else
    {
       qDebug()<<"加密解密失败" ;

    }


}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章