本地核验开门二维码
:::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的用户、不限制次数 为例,生成二维码:
- 将上述必填字段拼接为字符串:u=902533120&e=1704038400
- 使用 AES-128 算法对拼接后的字符串进行加密(密钥:s3eiplqy6mpar784),得到:Qd/hLDu7vcI9xiUn0/k/0tx7KQ8hqcIk/pY2d7o38xk=
- 增加前缀 GL_(用于标记为开门专用二维码,可用于区分健康码等其它二维码),得到:GL_Qd/hLDu7vcI9xiUn0/k/0tx7KQ8hqcIk/pY2d7o38xk=,即为二维码的内容
AES-128-ECB 算法在线加解密工具:http://tool.chacuo.net/cryptaes