Qt-AES加密库

Qt_AES加密库源码下载
https://github.com/bricke/Qt-AES

使用方法
http://www.lgwimonday.cn/archives/1976

注意事项:

1.在使用时记得要确保选择的level(AES_128、 AES_192、AES_256)与所使用的key的长度对应。
比如说你的key的长度为16byte的话,就要选择AES_128,因为16*8=128bit;其他同理。
这个库是没有对你的level、key的length做综合检查的,他默认你的key的长度是符合你选择的level的。因此假如你选择的level为192,但是你的key的长度为128bit,那么不足的64bit他就直接按照指针地址来递增访问了,也就是会访问到内存的未知区域,涉及到内存的未知区域,那取得的数也就会不确定了。假如你足够好运,加密解密时这64bit都是0,那你还是可以解密的。反之,会哭死。

2.padding最好不要选择ZERO,否则存在数据丢失的风险。选PKCS7挺好的。

使用时只需要AES加密库的源代码中的这三部分,拷贝到自己的源代码文件夹,然后将 qaesencryption.h、qaesencryption.cpp加入到工程中就可以了。
(其实最简单的就是把qaesencryption.h、qaesencryption.cpp加到你的工程就行,其他的都不要,要了反而增加一些别的报错风险
在这里插入图片描述

经过测试,在Qt5.12.9上可用;但是在Qt5.15.2上不可用,具体原因不明,可能是Qt内部的函数发生了更改。

又测试了一下,发现只要key超过24byte,在Qt5.15.2也可以用了。在这里插入图片描述

报__asm__错误的

C:\Users\Administrator\Desktop\AesTest\untitled4\DemoAES\AES\aesni\aesni-key-exp.h:14: error: C2065: “asm”: 未声明的标识符
看看是不是什么地方使用了 宏定义
USE_INTEL_AES_IF_AVAILABLE
把他去掉就行
在这里插入图片描述

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值