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()<<"加密解密失敗" ;

    }


}

 

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