爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
同一张IC卡在不同的设备上读取出的卡号确不相同,A设备读出卡号为:09833566;B设备读出卡号为:0012579534
,请高人定制一个换算工具.
事情的原因是这样的:公司新租赁了一栋厂房,距离旧厂房3公里。要求安装门禁控制系统,旧厂房因为是十年
前安装的,使用旧版本的蓝本门禁控制器,因此新厂房也是购买了蓝本3040T的门禁控制器,看资料都是支持韦
根34/26协议,以为相同品牌的设备应该不会出现问题。 一顿操作增员刷卡居然无法识别,仔细分析两边的设备
读取出来的卡号不相同,这就导致员工持卡确无法在两边厂房互通。 当然两边读卡,两套不一样的系统增员,
还是能够解决这个问题的。 这就使得HR必须两边跑才能解决这个问题。
以下是AI得到的一些信息:
已知数据- A设备输出:09833566(8位十进制)
- B设备输出:0012579534(10位十进制)
步骤1:还原原始16进制卡号假设A设备直接输出了原始16进制物理卡号的十进制形式:
09833566H(16进制) → 159798630(十进制)
但A设备实际显示为09833566,推测可能截取了后8位十进制结果(即159798630 → 9833566,补0后为09833566)。 步骤2:分析B设备的转换逻辑B设备输出的0012579534可能通过以下方式生成: - 原始16进制转换
若原始卡号为09833566H,转为10进制应为159798630,与B设备结果不符。 - 字节重排列转换
将09833566H按小端序调整为66358309H:- 66358309H → 1,717,411,593(十进制)
该结果仍与B设备输出不符。
- 协议编码差异
若B设备采用韦根34协议,可能将前3字节0983H与后1字节3566H拆分组合,例如:- 0983H → 2435(十进制)
- 3566H → 13670(十进制)
- 合并为243513670,截取后10位得到0012579534(需补前导0)23。
三、换算方法总结设备 转换逻辑 示例推导
A设备截取原始16进制卡号的十进制后8位09833566H → 159798630 → 取后8位补0 → 0983356623
B设备 按韦根协议拆分组合后补前导00983H+3566H → 2435+13670 → 合并为243513670 → 补0至10位 → 001257953423 四、验证工具与方法- 16进制转十进制工具
使用在线转换工具(如RapidTables)输入09833566H,验证其十进制是否为1597986302。 - 协议模拟测试
将09833566H按韦根26/34协议拆解,观察是否得到00125795343。
|