EvanChenSZ 2021-03-14 14:45
浏览 28

近期公司计划上二维码梯控系统,有提供二次开发包的与接口,但是用C+语言,有没有大神能转换成php语言

与其冥思苦想,还不如让问题交给专业的互联网大神们,至少众人拾柴火焰高。

问题来了,二维码梯控系统,厂家提供二次开发包的与协议规则,但是用C+语言,有没有大神能转换成php语言,可提供赏金,提前拜谢了

  1. 二维码格式

下面表格内格式为HEX,生成二维码需要将HEX格式转为ASCII格式

开始位           数据包长度             格式版本                     数据包

1byte             1byte                      1byte                           N byte

A5                  XX                          02                               XXXXXXX

数据包长度:目前为23, 数据包长度(【格式版本】开始字节到【校验】最后字节数据字节数)

数据包格式如下:

 

例子:16进制字符串,下面是明文,未加密的数据

A5170200000001065F9DFA8000050105030400000000000071

A5  17  02  00000001  06  5F9DFA80  0005  01  05  0304000000000000  xx

开始位:A5

数据包长度:17(16进制=17,10进制=23)

格式版本:02

用户ID::00000001

用户类型::06=普通用户

启用时间:5F9DFA80  (2020/11/01 08:00:00)

有效时长:0005   (5分钟)

梯控权限地址:01 (1号梯控控制器有权限)

楼层表:05, (1号梯去端口5对应的楼层)

用户卡同一部电梯默认不支持去多个楼层,用户在手机界面上切换楼层,二维码变化

门禁权限地址:0304000000000000, 3,4号门禁控制器有权限

校验:71

 

  1. 二维码生成

【开始位】【数据包长度】【格式版本】为明文,其他部分为密文

 

默认加密方式如下:我司为每个项目提供唯一密钥16字节

如:378DFDF42B029488575B88FA3C2BB49E

加密只对【用户ID】开始字节到【校验】结束字节部分加密

上面例子只对这部分加密00 00 00 01 06 5F 9D FA 80 00 05 01 05 03 04 00 00 00 00 00 00 71

00 00 00 01 06 5F 9D FA 80 00 05 01 05 03 04 00        00 00 00 00 00 71

37 8D FD F4 2B 02 94 88 57 5B 88 FA 3C 2B B4 9E      37 8D FD F4 2B 02

前16字节和密钥分别异或,                        后6字节和密钥前6字节分别异或

{
u8 Gen[16]={0x37, 0x8D, 0xFD, 0xF4, 0x2B, 0x02, 0x94, 0x88, 0x57, 0x5B, 0x88, 0xFA, 0x3C, 0x2B, 0xB4, 0x9E };

u8 Buf[22]={0x00, 0x00, 0x00, 0x01, 0x06, 0x5F, 0x9D, 0xFA, 0x80, 0x00, 0x05, 0x01, 0x05, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71};

u8 i;
  
  for(i=0; i<16; i++)
  {
     Buf[i]=Gen[i]^Buf[i];
  }
  for(i=0; i<6; i++)
  {
     Buf[16+i]=Gen[i]^Buf[16+i];
  }
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 微信会员卡接入微信支付商户号收款
    • ¥15 如何获取烟草零售终端数据
    • ¥15 数学建模招标中位数问题
    • ¥15 phython路径名过长报错 不知道什么问题
    • ¥15 深度学习中模型转换该怎么实现
    • ¥15 HLs设计手写数字识别程序编译通不过
    • ¥15 Stata外部命令安装问题求帮助!
    • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
    • ¥15 TYPCE母转母,插入认方向
    • ¥15 如何用python向钉钉机器人发送可以放大的图片?