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