QT历程(一):与CryptoJs对应的AES加密

#####目的:

使用QT进行AES加密,能用CryptoJs进行AES解密。

#####说明:

CryptoJs使用的AES加密文件为 aes.js

#####网上QT常用的AES加密方式

    1. Crypto++库
    1. Qca库
    1. Botan库
    1. 网友贡献的AES加密代码

crypto++ 和 qca 都需要下载源码编译成静态库或者动态库调用,方法比较复杂,没有编译成功。

botan 是QT自带的库,只需要引入头文件即可,调用还算是比较方便,但是我尝试的时候发现加密以后不能正确解密,不知道哪里弄错了,按道理来说不应该这样。

网友贡献的AES加密代码,可以正常加密和解密,但是和CryptoJs默认加密方式得出的结果不一样,配置了mode和padding 也不能得到相同的结果。

说到这里,常规手段已经用完了,好吧,结果一点都不理想。

#####非常规手段: QT调用js方法进行加解密。

大概步骤就是使用QJSEngine加载本地aes.js文件,然后调用js里面的方法进行加解密,获取返回结果,我这边得出的结果就是,加密不正确且无法解密。

到这里就结束了吗?不!我觉得还可以再抢救一下,也就是这篇文章的意义所在

==使用QML包含aes.js文件,再用QML函数调用aes.js的AES加密方法,最后用C++调用QML内的方法,获取加解密结果,成功!==

#####完!

原创文章,转载请注明出处:http://yliyun.com/blog/2016/05/30/qt-aes-cryptojs/

欢迎选择一粒云 ,您的专属企业网盘

转载于:https://my.oschina.net/jiuyuehe/blog/684535

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值