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