韦根位宽格式:16 种布局,6 种位宽
位宽不等于格式。16 种有据可查的格式分布在 6 种位宽上,其中三种位宽的字段划分互不兼容 —— 按位宽给一个数,就是在猜。
| 格式 | 位宽 | 字段划分 | 校验 | 置信度 | 本站支持 |
|---|---|---|---|---|---|
| HID H10301 | 26 | 8 位设施码 + 16 位卡号 | 偶 2–13 / 奇 14–25 | 高 | ✅ |
| HID H10306 / Honeywell N10002 | 34 | 16 位设施码 + 16 位卡号 | 偶 2–17 / 奇 18–33 | 高 | ✅ |
| AWID RS2 34-bit | 34 | 8 位站点码 + 24 位卡号 | 未公开 | 高 | — |
| Keyscan C15001 | 36 | 10 位OEM + 8 位设施码 + 16 位卡号 | 偶 2–18 / 奇 19–35 | 中 | ✅ |
| Simplex S12906 | 36 | 未公开 | 未公开 | 低 | — |
| AWID 36-bit | 36 | 未公开 | 未公开 | 低 | — |
| HID H10302 | 37 | 35 位卡号 | 偶 2–18 / 奇 19–36(边界有争议) | 高 | — |
| HID H10304 | 37 | 16 位设施码 + 19 位卡号 | 偶 2–18 / 奇 19–36(边界有争议) | 高 | — |
| HID generic 37-bit | 37 | 32 位卡号 | 偶 1–2 / 奇 37–37 | 中 | — |
| PointGuard MDI 37-bit | 37 | 4 位站点码 + 29 位卡号 | 未公开 | 中 | — |
| ATS 32-bit | 32 | 13 位站点码 + 17 位卡号 | 2 位,位置未公开 | 中 | — |
| Generic WIE32 | 32 | 12 位站点码 + 16 位卡号 | 无校验 | 中 | — |
| Kantech K32 | 32 | 8 位站点码 + 16 位卡号 | 未公开 | 中 | — |
| Nedap 32-bit | 32 | 16 位站点码 + 16 位卡号 | 无校验 | 中 | — |
| Maxxess 32-bit | 32 | 14 位站点码 + 16 位徽章号 | 未公开 | 中 | — |
| HID Corporate 1000 | 35 | 12 位公司码 + 20 位卡号 | 3 位,交错分布 | 中 | — |
位宽不是格式
34 位是最清楚的例子。HID H10306 与 Honeywell N10002 都是 16 位设施码加 16 位卡号;AWID RS2 把同样的 34 位花成 8 位站点码加 24 位卡号。把一张 RS2 卡送进一个按 H10306 解的工具,它会交给你一组能通过所有内部检查、却打不开任何一扇门的设施码与卡号。
37 位在同一个厂商内部就重复了这个现象:H10302 完全没有设施码 —— 35 位全是卡号;H10304 则把同样的长度切成 16 位设施码加 19 位卡号。光看一帧,你无法判断它是哪一种。
36 位比「有歧义」更麻烦,因为它有一部分根本没公开过。Keyscan C15001 是 10 位 OEM 码、8 位设施码、16 位卡号;Simplex S12906 与 AWID 36 位是同长度下的另外两种布局,而 AWID 用自家调制方式,标准 HID 风格的读卡器根本读不出来。
为什么本站不做 32、35、37 位
32 位至少有五种布局 —— ATS、generic WIE32、Kantech K32、Nedap、Maxxess —— 其中好几种完全没有校验位,坏帧无法被发现,任何解码结果都不可证伪。Nedap 是 16 + 16 且无校验:与 H10306 同样的划分、一半的长度,正是这张表存在要记录的那个陷阱。
35 位是 HID Corporate 1000:专有格式,三个校验位交错插在数据里,而不是待在首尾。公开资料没说交错从哪里开始、到哪里结束,照它实现就等于对每一帧都在猜。
37 位不是因为没有布局才不做 —— H10302 与 H10304 都有充分出处 —— 卡在校验边界上:Nedap 与 promptzero/pacs 让两个 18 位区间在第 18 位重叠,Suprema 则把奇校验从第 18 位起算。35 个数据位无法均分,而这两种读法在「同时落进两个区间的那一位」上给出不同答案。等一条公开示例帧把它定案,我们再加 37 位;在那之前,这两种布局在这里只作参考列出。
这些数字从哪里来
每一行都出自厂商手册或第三方文档,并且每一行都带置信度。高=两个及以上独立公开来源一致,且布局拿真实帧核对过;中=单一第三方来源,或来源之间在某处不一致;低=字段宽度已知、但位位置没有公开 —— 别照着那几行做硬件。
表体只存在一个 JSON 文件里,这一页由它生成:数据里没有的格式不可能出现在表里,表里的行也不可能与数据脱节。哪一行写错了,正确的修法是改数据;通过联系页告诉我们,我们确实会改。