本地核验开门二维码

:::info 可用于设备离线进行白名单核验,并控制门禁和梯控板

:::

对于符合规则的普通二维码或访客码,设备端支持本地核验(无需联网也可核验),核验通过即可发送继电器信号。建议设备端实现“本地优先,在线为辅”的核验方式

二维码组成元素

字段 字节数 字段标识 是否必填 类型 值(示例) 备注
用户ID 5 u int 902533120 下发至设备的白名单号码,用于识别用户
起始时间戳 4 s int 1652198400 二维码生效的起始时间
截止时间戳 4 e int 1704038400 二维码失效时间
限制次数 1 f int 0 二维码使用次数限制,0不限制;1限制1次…
楼层 1 l int 6 楼层号,梯控场景下可使用

二维码规则

以 用户ID:902533120的用户、不限制次数 为例,生成二维码:

  1. 将上述必填字段拼接为字符串:u=902533120&e=1704038400
  2. 使用 AES-128 算法对拼接后的字符串进行加密(密钥:s3eiplqy6mpar784),得到:Qd/hLDu7vcI9xiUn0/k/0tx7KQ8hqcIk/pY2d7o38xk=
  3. 增加前缀 GL_(用于标记为开门专用二维码,可用于区分健康码等其它二维码),得到:GL_Qd/hLDu7vcI9xiUn0/k/0tx7KQ8hqcIk/pY2d7o38xk=,即为二维码的内容

二维码 - 图1

注意:加解密时使用填充使用:pkcs5padding。 解密时参考加密顺序倒序执行即可。

AES-128-ECB 算法在线加解密工具:http://tool.chacuo.net/cryptaes