u64--%llX
测试身份证开门成功:
1制卡以后下发白名单
接到黑白名单命令,IDstring=40D1BB0133CE6498 , time=1541738052 , type=2(0:增加黑名单,2:增加白名单,1&3:删除名单)
list.ID llX= 40D1BB0133CE6498 ID = crc32((uint8_t *)&cardNumber , 8)----B4956613
permiList_add_data:list.U64--40D1BB0133CE6498
permiList_add_data:list.status--2
[0;37m[#][0%][18-11-08 10:05:14]黑白名单表更新时间戳:1541642653
2刷身份证
检测到身份证,UID : [40 D1 BB 01 33 CE 64 98 ]
assemble_id:40D1BB0133CE6498
ID = crc32((uint8_t *)&cardNumber , 8)----B4956613
B4956613--98CFCDAD
B4956613--CC2417E0
B4956613--B4956613
[0;37m[#][0%][18-11-08 10:05:32]在 2 位置查询到卡片ID:40d1bb0133ce6498 , 查询时间:7
[0;39mFINDED
[0;37m[#][0%][18-11-08 10:05:32]白名单卡
结论:刷卡的assemble_id:40D1BB0133CE6498 需要和 下发的 IDstring= 40D1BB0133CE6498一毛一样
而关键的是 他们哈希以后的U32 crc32((uint8_t *)&cardNumber , 8)----B4956613 会一毛一样
《检测到身份证,UID : [40 D1 BB 01 33 CE 64 98] 长度8
组合U64是:0x40D1BB0133CE6498》
检测到CQ,UID : [A1 00 D3 1B ] 长度4---------第一步拿到UID---需要这里和MQTT过来的接到黑白名单命令,ID=A100D31B00000000一样
组合U64是:0xA100D31B00000000----------------第二部搞成U64
在ID = crc32((uint8_t *)&cardNumber , 8)是CC2417E0--第三部哈希换成U32索引
开始比较---第四部遍历索引表
CC2417E0--98CFCDAD
CC2417E0--CC2417E0
[0;37m[#][0%][18-11-07 14:32:07]在 1 位置查询到卡片ID:a100d31b00000000 , 查询时间:7
[0;37m[#][0%][18-11-07 14:32:07]黑名单卡
permiList_read_data( pos , list);------第五步找到了 在去数据库根据索引的pos找到全部信息
list.status--第六步根据拿到的信息看黑还是白 还有时间
msg type = 0 , seq id = 16 , server type = 2 , cmd = 8002
[0;39m[0;37m[#][0%][18-11-07 17:06:02]接到黑白名单命令,IDstring=1391798623300000 , time=-224087296 , type=2(0:增加黑名单,2:增加白名单,1&3:删除名单)
[0;39m
list.ID llX= 1391798623300000 ID = crc32((uint8_t *)&cardNumber , 8)----98CFCDAD
[0;37m[#][0%][18-11-07 17:06:02]该卡号不在黑白名单中,ID=1391798623300000 , 查询时间:102
[0;39m[0;37m[#][0%][18-11-07 17:06:02]当前黑白名单列表没有找到对应卡号,新增名单
[0;39m[0;37m[#][0%][18-11-07 17:06:02]找到一个空闲位置,位置:0
[0;39mpermiList_add_index:存的U32 ID###98CFCDAD---U64 cardNumber###1391798623300000
[0;37m[#][0%][18-11-07 17:06:02]数据将写入到 0 位置中。
[0;39m48 F2 00 20 51 E9 00 08 00 00 00 00 30 12 00 20
permiList_add_data:list.U64--1391798623300000
permiList_add_data:list.status--2
[0;37m[#][0%][18-11-07 17:06:03]接到黑白名单命令,IDstring=A100D31B00000000 , time=1542075600 , type=0(0:增加黑名单,2:增加白名单,1&3:删除名单)
[0;39m
list.ID llX= A100D31B00000000 ID = crc32((uint8_t *)&cardNumber , 8)----CC2417E0
CC2417E0--98CFCDAD
[0;37m[#][0%][18-11-07 17:06:03]该卡号不在黑白名单中,ID=a100d31b00000000 , 查询时间:101
[0;39m[0;37m[#][0%][18-11-07 17:06:03]当前黑白名单列表没有找到对应卡号,新增名单
[0;39m[0;37m[#][0%][18-11-07 17:06:03]找到一个空闲位置,位置:1
[0;39mpermiList_add_index:存的U32 ID###CC2417E0---U64 cardNumber###A100D31B00000000
[0;37m[#][0%][18-11-07 17:06:03]数据将写入到 1 位置中。
[0;39m48 F2 00 20 51 E9 00 08 01 00 00 00 30 12 00 20
permiList_add_data:list.U64--A100D31B00000000
permiList_add_data:list.status--1
[0;37m[#][0%][18-11-07 17:06:03]黑白名单表更新时间戳:1541489471
[0;39m