Qt-AES 加密与解密

https://github.com/bricke/Qt-AES

下载下来后,将对应的源码拷贝到项目中就可以了。
在这里插入图片描述
一个简单的事例:

    QString key = "0123456789012345";

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

    QString string = "Hello World Are you zheng";
    QByteArray src=string.toUtf8().mid(0,17); // 不足16字节或是大于16字节(不是16字节的倍数),会进行补位
    qDebug()<<"src.length="<<src.length();

    QAESEncryption encryption(QAESEncryption::AES_128, QAESEncryption::ECB, QAESEncryption::ISO);
    QByteArray enBA = encryption.encode(src, key.toUtf8());
    QByteArray enBABase64 = enBA.toBase64();

    qDebug() << "string : " << string;
    qDebug() << "enBA.length= " << enBA.length();
    qDebug() << "enBA.ByteArray= " << enBA;
    qDebug() << "enBA : " << enBABase64;

    enBA = QByteArray::fromBase64(enBABase64);
    //enBA= encryption.removePadding(enBA); 加密之后无法去除补位,只有解密后才能去除补位
    qDebug()<<"enBA.length="<<enBA.length();
    QByteArray deBA = encryption.decode(enBA, key.toUtf8());
    QByteArray deBA_rmPad=  encryption.removePadding(deBA); // 解密后需要执行去除补位操作,如果没有补位内容不变
    qDebug()<<"deBA.String="<<QString::fromUtf8(deBA_rmPad);
    //移除填充
    qDebug() << "deBA : " << QAESEncryption::RemovePadding(deBA, QAESEncryption::ISO);
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值