QT 基于AES加解密的使用,解析java端发来的密文 您所在的位置:网站首页 qt解析word QT 基于AES加解密的使用,解析java端发来的密文

QT 基于AES加解密的使用,解析java端发来的密文

2023-04-03 07:52| 来源: 网络整理| 查看: 265

背景

java端往ukey中写授权信息,C++端从ukey中读取授权信息。 java端写入的授权信息是加密的,并且要可逆。 因为java端采用的是AES加密的,所以我(C++端)也只好采用对等形式搞定了。

使用的库

开发环境:Win10 + Qt5.13 QT中AES加解密:采用Qt-AES第三方库。 github:https://github.com/bricke/Qt-AES AES在线加解密工具:https://tool.lmeee.com/jiami/aes

开始使用

1. 配置源码 在拉取的代码中,只需将qaesencryption.h和qaesencryption.cpp添加至代码当中即可使用。

在这里插入图片描述 2. java端 java端AES的各属性采用以下: (1)AES加密模式:CFB (2)AES填充模式:zeropadding (3)AES秘钥长度:128位 (4)AES秘钥:d4f7d5057af81ae9(16位,内容自定义即可) (5)AES向量:a21186a7b484db71(16位,内容自定义即可) 最终java端 将原生json数据 采用以上形式加密得到密文,再将密文转为base64编码保存至ukey中。

3. C++端 规则一定要迎合java端的,否则无法正确解密。

void Ukey::readAuthorizationCode(const QString& devnum) { // ... qInfo() \"authorizationTimeDay\":12,\"authorizationTimeEnd\":\"\",\"hgAppName\":\"HG_SFC\",\"timetype\":1}" 明文2:>>> "{\"authorizationTimeDay\":12,\"authorizationTimeEnd\":\"\",\"hgAppName\":\"HG_SFC\",\"timetype\":1}" >>>>>> decodec data:> "{\"authorizationTimeDay\":12,\"authorizationTimeEnd\":\"\",\"hgAppName\":\"HG_SFC\",\"timetype\":1}" "[readAuth-debug] authorizationTimeDay is [12]." "[readAuth-debug] hgAppName is [HG_SFC]." "[readAuth-debug] timetype is [1(非永久)]."

此时ukey中的经java端加密的授权信息已被 充分的解析出来了。

好家伙,将得到的base64拿到 AES在线加解密工具去炮制一下。 在这里插入图片描述 更多基于AES的例子,参考该篇文章: QT中AES的初步测试使用



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有