从 MIFARE 14 字节 UID 到未知 5 字节数字的转换

问题描述 投票:0回答:1

我有这个 Mifare 14 字节 UID:“04502E22D45380”,我需要转换为 5 字节十六进制:“63AE03D0AA”。
我已经尝试了网上的各种转换和建议,但一直无法转换:

尝试从未知类型中取出每个半字节并反转每个半字节的位(最低有效位变为最高有效位,第二位变为倒数第二位)。
没有给出有用的结果。
尝试将 0450 (0x4 50) 拿走并尝试相同的操作,以及许多十六进制到二进制、十六进制...以及唯一序列号:
enter image description here 但我已经没有主意了。未知编号RFID扫描仪的供应商也无能为力。他们说:

恐怕这很难。这可能是 4 字节与 7 字节 ID 的问题,但是当我假设我们使用 4 且客户使用 7 字节 ID 时,我对此进行异或。我没有得到预期的结果。

所以我想也许你们中的一些人可以提供帮助。

number-formatting rfid
1个回答
0
投票

这是我的尝试,请检查打印结果是否正常?

import binascii

mifareUidpassed = "04502E22D45380" #<-- pass other uid if you want
unHexifi=binascii.unhexlify(mifareUidpassed)[:5]
convUid = binascii.hexlify(unHexifi).decode()

print("check this HexFied result here-->"+convUid)

这里我使用了

binascii
库,您可以在此处阅读有关其文档的更多信息 binascii.html

© www.soinside.com 2019 - 2024. All rights reserved.