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

目的:

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

说明:

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

网上QT常用的AES加密方式
  1. Crypto++库
  2. Qca库
  3. Botan库
  4. 网友贡献的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/

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 3,642评论 2 41
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,742评论 25 709
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,424评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • http://www.tianyuanweixin.net/admin/login.asp 各类目费率及结算周期(...
    Dayon阅读 338评论 0 0